The non-empty $C_n$ with $\operatorname{diam}(C_n) < \frac1n$ are given separately from each other: the contradiction-assumption only gives they such sets exist (such that $C_n$ is also not a subset of any $A \in \mathcal{A}$) not that we can choose them to be nested, or of the form $B(a,r)$ for some $a,r$ etc. We know nothing at all about them, except their diameter and non-subset properties. That's why we pick $x_n \in C_n$ and use a convergent subsequence of them to get any "grip" on them at all. So we have a convergent subsequence $x_{n_k}$ that converges to some $a \in X$. As $\mathcal{A}$ is a cover, we have some $A_0 \in \mathcal{A}$ that contains this $a$. As $A_0$ is open, there is an $\varepsilon>0$ such that $B(a,\varepsilon) \subseteq A_0$. So far so good.
Now $B(a, \varepsilon)$ has diameter $\le 2\varepsilon$, and it contains infinitely many $x_{n_k}$ (as they converge to $a$) which come from sets of smaller and smaller diameter, so eventually the $C_{n_k}$ they came from are also going to fit inside $B(a,\varepsilon)$: just pick $i$ so large that $\frac{1}{n_i} < \frac{\varepsilon}{2}$ and also such that $d(x_{n_i},a) < \frac{\varepsilon}{2}$, then let $p \in C_{n_i}$. As $p$ and $x_{n_i}$ both comes from $C_{ni}$: $d(p, x_{n_i}) \le \operatorname{diam}(C_{n_i}) < \frac{1}{n_i} < \frac{\varepsilon}{2}$ and so $$d(p,a) \le d(p, x_{n_i}) + d(x_{n_i},a) < \frac{\varepsilon}{2} + \frac{\varepsilon}{2} = \varepsilon$$
and as $p \in C_{n_i}$ was arbitrary, $$C_{n_i} \subseteq B(a, \varepsilon) \subseteq A_0$$
which is in immediate contradiction with the fact that no $C_m$ was a subset of any subset of $\mathcal{A}$ by assumption!
The triangle inequality argument was not written down by Munkres (as such arguments are so common that the reader is supposed to fill them in him/herself), but the intuition should be clear: the convergent subsequence forces the small corresponding $C_n$ sets to cluster near $a$ too, and so inside the open $A_0$ that $a$ is in.
You seem to have one of the right core idea with using pigeonhole principle, but there are serious issues with the details.
You started with the family of all $\varepsilon$-balls, and you know from compactness that you can find a finite subfamily of them that cover the space. You decided to denote the centres of this finite family by $x_1, \ldots, x_{n_\varepsilon}$, which is not permissible, since $x_1, \ldots x_{n_{\varepsilon}}$ already refers to the first $n_\varepsilon$ terms of the sequence $(x_n)$, which you fixed at the beginning of the proof. You have no reason to assume that the centres of your balls lie on the sequence points.
As I said, the pigeonhole principle idea is the right idea. If $y_1, \ldots, y_n$ are centres of open $\varepsilon$-balls that cover the space, then infinitely many terms of the sequence (as opposed to $X$, as your proof states) must enter one of the balls. This will lead to the right proof.
Then your proof goes straight to the conclusion. There is an issue with this too. You've established an infinite set of sequence points that are all within $2\varepsilon$ distance from each other. But, this doesn't necessarily imply the existence of a convergent subsequence. As it stands, you're defining a different subsequence for each $\varepsilon$, when you really need a single subsequence that works for each $\varepsilon$.
Consider, instead of using arbitrary $\varepsilon$, using $\varepsilon = \frac{1}{m}$, where $m \in \Bbb{N}$. Define your subsequence recursively. Start with $\varepsilon = \frac{1}{1}$, and by the pigeonhole principle, there must be a ball $B_1$ of radius $1$ containing infinitely many points of the sequence $(x_n)$. Also let,
$$S_1 = \{k \ge 1 : x_k \in B_1\}.$$
Note that $S_1$ is infinite, hence non-empty, and has a minimum element. We can make this minimum element $n_1$, so that $x_{n_1}$ is the first term in the subsequence.
Then, since $S_1$ is infinite, another pigeonhole principle application applied to it (as opposed to our original sequence) will yield another ball $B_2$, now of radius $\frac{1}{2}$, so that $x_k \in B_2$ for infinitely many $k \in S_1$. Let
$$S_2 = \{k > n_1 : x_k \in B_2\}$$
and let $n_2$ be the minimum of $S_2$.
Continue this process, and you'll obtain a sequence of nested sets
$$S_1 \supseteq S_2 \supseteq \ldots,$$
and their minimum elements form a subsequence $x_{n_1}, x_{n_2}, \ldots$ (if you've done it right, you should be able to justify why $n_1 < n_2 < n_3 < \ldots$, which is necessary to call it a subsequence).
Why is this subsequence convergent? And what does it converge to? Well, answering the latter question first, the closure of the sequence of open balls $(\overline{B}_m)$ form a nested sequence of compact sets, which must have a non-empty intersection. Since their diameters (which are less than or equal to $\frac{2}{m}$) converge to $0$, this intersection must be a singleton. Let $x$ be the unique point in this intersection.
Why is the subsequence converge to $x$? Well, for every $\varepsilon > 0$, find some $m$ such that $\frac{2}{m} < \varepsilon$. Then,
$$k \ge m \implies x_{n_k} \in \overline{B}_m \implies d(x, x_{n_k}) \le \frac{2}{m} < \varepsilon,$$
since $x \in \overline{B}_m$ (it's in all the $\overline{B}_i$s).
As you can see, there are some serious steps missing. The core ideas are pigeonhole principle, and Cantor's intersection theorem (guaranteeing the point of convergence).
Best Answer
Yes, the proof is not perfect, since an unbounded sequence can indeed have a convergent subsequence. However, it is correct that such a sequence as the one mentioned in that proof cannot have a convergent subsequence. That's because not only that sequence is unbounded as every subsequence of that sequence is unbounded too. In fact, if $(y_{n_k})_{k\in\Bbb N}$ is a subsequence of $(y_n)_{n\in\Bbb N}$, then, for each $k\in\Bbb N$, $d(y_{n_k},b)>n_k$. So, since $\lim_{k\to\infty}n_k=\infty$, the sequence $(y_{n_k})_{k\in\Bbb N}$ is indeed unbounded.