I'm translating from the french version but I saw a copy of the proof from the english edition and the french translation seems identical. Anyhow I think I have the terminology right.
Suppose $\emptyset \ne P \subset \mathbb R^k$ is a perfect set and assume it is countable (it being infinite is easy to prove). Let the elements of $P$ be numbered $x_1,x_2,\dots$
We'll construct open balls $B_n$ of center $x_n$ in the following way. (Notice here that $B_n$ is already stated to have center $x_n$)
Let $B_1$ be any open ball, in particular since $x_1 \in B_1,\ \overline{B_1} \cap P \ne \emptyset$. Moreover $x_1$ is an accumulation point of $P$ ($P$ is perfect after all) and so $B_1$ must contain an infinite number of points of $P$.
Now suppose $B_n$ is well defined such that $B_n \cap P$ is non-empty, since every point of $P$ is an accumulation point, there is an open ball $B_{n+1}$ such that $(i)\ \overline{B_{n+1}} \subset B_n,\ (2)\ x_n \notin \overline{B_{n+1}},\ (iii)\ \overline{B_{n+1}} \cap P$ is not empty.
Now this is where this whole proof grinds me to a halt, $B_{n+1}$ was already stated to have center $x_{n+1}$, but it is not clear at all that $x_{n+1}$ was in $B_n$ in the first place, it could have been anywhere for that matter. I read a similar proof that was picking the center of $B_{n+1}$ after $B_n$ is defined which makes more sense since $x_n$ is an accumulation point of $P$. However if you do that, there's no way to guarantee you've picked every point of $P$ making the next step of the argument incorrect:
Let $K_n = \overline{B_n} \cap P$, since $P$ is perfect, it is closed, so is $\overline{B_n}$, moreover it is bounded and so $K_n$ is compact. Therefore $\bigcap_{1\leq j \leq n} K_j$ is a non-empty compact subset of a metric space for all $n$. However, for all $n$, $x_n \notin \bigcap_{1 \leq j \leq n+1} K_j$, hence for all $n$, $x_n \notin \bigcap_{j \in \mathbb N} K_j$. Therefore $\bigcap_{j \in \mathbb N} K_j \subset P$ contains none of the points of $P$. This is impossible since we've shown before that such a set must be non-empty.
So in my view, either the set $x_1,x_2,\dots$ is predefined and it is not possible to guaranted $(i)\ \overline{B_{n+1}} \subset B_n$, or the last part of the argument is incorrect and it can't be guaranteed to have excluded every point of $P$.
I'm not familiar with the Axiom of Choice/Dependent Choice, I've been acquainted with Zorn's Lemma.