There’s a slight error in the proof: the claim should be that $d(x_n,x) \le 2/n$. To see this, let $\epsilon$ be any positive real number; the sequence of $x_m$’s converges to $x$, so there is a positive integer $m > n$ such that $d(x_m,x) < \epsilon$. By the triangle inequality $d(x_n,x) \le d(x_n,x_m)+d(x_m,x) < \frac2n + \epsilon.\tag{1}$ Thus, $d(x_n,x) < \frac2n + \epsilon$ for every $\epsilon > 0$, and hence $d(x_n,x) \le \dfrac2n$.
This small error doesn’t affect the next step of the argument: if $y \in B(x_n,1/n)$, then $d(x_n,y) < 1/n$, so $d(x,y) \le d(x,x_n)+d(x_n,y) \le \frac2n + d(x_n,y) < \frac2n + \frac1n = \frac3n,$ $y \in B(x,3/n)$, and therefore $B(x_n,1/n) \subseteq B(x,3/n)$.
Now $B(x_n,1/n)\cap A$ is infinite for each $n$, and $B(x_n,1/n) \subseteq B(x,3/n)$, so $B(x,3/n)\cap A$ is infinite for each $n$. Since $3/n\to 0$ as $n\to\infty$, for any $\epsilon > 0$ there is an $n_\epsilon$ such that $3/n_\epsilon < \epsilon$. But then $B(x,\epsilon)\cap A \supseteq B(x,3/n_\epsilon)\cap A$, which is infinite. Thus, every nbhd of $x$ contains infinitely many points of $A$.
Added: To clarify, it is in fact true that $d(x_n,x)<2/n$ for each $n$; it just doesn’t follow directly from the fact that $d(x_m,x_n) < 2/m$ when $m, as the weaker inequality does. If we want the strict inequality, we can modify the argument that I gave by choosing $m>n$ so that $1/m<\epsilon/2$ and $d(x_m,x)<\epsilon/2$ and then replacing $(1)$ by $d(x_n,x)\le d(x_n,x_m)+d(x_m,x)<\frac1n+\frac1m+\frac{\epsilon}{2}<\frac1n+\epsilon.$ Since $\epsilon$ can be chosen arbitrarily small, we conclude that $d(x_n,x)\le 1/n$ for each $n$.