I'll just put my comment into an answer.
The problem comes in the assertion that $E = P \cup ( P^c \cap E)$. In your construction, you have that $P$ is the set of all condensation points of $E$, but for arbitrary $E$ not all condensation points of $E$ belong to $E$. (As a simple example, note that the set of all condensation points of the open interval $(0,1)$ in the real line is the closed interval $[0,1]$.)
If one were to, instead, consider $(P \cap E ) \cup ( P^c \cap E)$ we quickly run into the problem that $P \cap E$ is not perfect -- as the above example would show.
As a conclusion of sorts, one can easily show that $(0,1)$ cannot be represented as the union of a perfect set and a countable set in the real line: Suppose that $P \subseteq (0,1)$ is any perfect set. As $P$ is bounded(-below) and closed, it must have a minimum element, $a$, and $0 < a < 1$. As we all know, $(0,a)$ is uncountable, as we're done as $(0,a) \subseteq (0,1) \setminus P$!
You’ve misunderstood a couple of things. First, it’s not true that the Cantor-Bendixson derivatives of a countable set of reals necessarily vanish: every C-B derivative of $\Bbb Q$ is $\Bbb Q$, since $\Bbb Q$ has no isolated points to remove.
Secondly, a space is scattered if every subset contains at least one point that is isolated in that subset considered as a space in its own right. A simple sequence with its limit point is scattered: if the limit point is $p$, the point $p$ is isolated in the set $\{p\}$.
It’s true, however, that a closed subset of $\Bbb R$ is scattered (equivalently, has vanishing C-B derivative) if and only if it is countable.
First, no uncountable subset of $\Bbb R$ is scattered. This follows from the fact that $\Bbb R$ is second countable. Let $\mathscr{B}$ be a countable base for the topology, and let $A\subseteq\Bbb R$ be uncountable. Let $$\mathscr{B}_0=\{B\in\mathscr{B}:B\cap A\text{ is countable}\}\;,$$ and let $A_0=A\setminus\bigcup\mathscr{B}_0$. Clearly $\bigcup\mathscr{B}_0$ is countable, so $A_0$ is uncountable. If $x\in A_0$, and $U$ is any open nbhd of $x$, then there is a $B\in\mathscr{B}$ such that $x\in B\subseteq U$. Clearly $B\notin\mathscr{B}_0$, so $B\cap A$ is uncountable, and therefore $B\cap A_0$ is uncountable as well. In particular, $x$ is not isolated in $A_0$. Thus, $A_0$ has no isolated points, and $A$ is not scattered.
Secondly, if $A\subseteq\Bbb R$ is countable and not scattered, then $A$ contains a countable infinite subset $A_0$ with no isolated points. Such a set is order-isomorphic to $\Bbb Q$ and therefore not closed.
Best Answer
This is a ZF theorem, and is in fact equivalent to the reverse mathematical system $\Pi^1_1-\mathrm{CA}_0$ over the base theory $\mathrm{RCA}_0$ (this is in Simpson's reverse math textbook). It's worth reading Wikipedia's article "Reverse mathematics" — it has a great summary of such facts.
The Cantor-Bendixson rank argument is essentially already a ZF proof. Define a surjective partial map $f: \omega \cong \mathbb{Q}^2 \rightharpoonup C$ by sending $(q_1, q_2)\mapsto p$ if $p$ is the unique highest rank point in $C \cap (q_1, q_2).$