Issue with proof: Cauchy Completeness of Real Numbers 
Having trouble understanding a cardinality-related argument when proving that all Cauchy sequences of reals numbers converge to a real limit. Came across it on CC Pugh's Real Mathematical Analysis, page 18.  


Suppose $(a_n) : n \in \Bbb N $ is a Cauchy sequence;
First the set $A = \{ x \ |\ x = a_n  \; \text{for some} \; n \in \Bbb N   \}$ is proved to be bounded and is considered to be contained in $[-M, M]$ for $M\in \Bbb N$. Then the following set is considered;
$$S = \{s \in [-M, M]  \ | \ \text{there are infinitely many $n$ in $\Bbb N$ for which $a_n \ge s $}  \}$$
The set is bounded from above and is non-empty rendering the existence of $\sup  S = b$ in $\Bbb R$. Then the author proceeds to show that $b$ is the limit to which $(a_n)$ converges. 
Since $(a_n)$ is a Cauchy sequence $\exists N \in \Bbb N$ such that $m, n \ge N \implies |a_m - a_n| \lt \frac \epsilon 2$ where $\epsilon$ is an arbitrary positive quantity. 

Here my issues begin..
$ (b + \frac \epsilon 2) \ \notin \ S$ since $s \ \in S \implies s \le b$. Therefore the author says $a_n$ exceeds $(b + \frac \epsilon 2)$ only finitely often. This apparently suggests $ \exists \ N_1(\ge N) \in \Bbb N $ such that $$ n \ge N_1 \implies a_n \lt (b + \frac \epsilon 2)  $$ 
This is my sketchy idea of why this is true:
There are countably infinite elements in $(a_n)$ and hence there are a similar number of elements $(a_n)$ which are less than $(b + \frac \epsilon 2)$. These must be close to each other since this is a Cauchy sequence. 
But I am having trouble convincing myself in terms of a rigorous argument. Especially why $N_1 \ge N$??? Furthermore since $\exists \ s \in S$ such that $s \gt (b - \frac \epsilon 2)$ There are infinitely many $n$ for which $a_n \ge s \gt (b - \frac \epsilon 2)$. This apparently justifies the existence of $r \ge N_1$ such that $a_r \gt (b - \frac \epsilon 2)$??? How come??
Any help would be appreciated... 

From the definition of $S$, it is possible to have $s\in S$ that has an infinity of $(a_n)$ within $(s-\varepsilon,s+\varepsilon)$.  It must be shown that $S$ has at most one of these points.  If there are two elements $s_1,s_2 \in S$, then (sparing a rigorous argument) I can find arbitrarily large indexes $M$ and $N$ such that $a_M$ is arbitrarily close to $s_1$ and $a_N$ is arbitrarily close so $s_2$.  This would imply that $|a_M-a_N|$ is close to $|s_1 -s_2|$, a finite difference.  This would contradict the fact that $(a_n)$ is Cauchy.
If $b=\sup S$, then for any $\varepsilon > 0$, there is $N$ with $b-\varepsilon <a_N < b$.  It also implies that there is an infinity of terms of $(a_n)$ greater than $a_{N}$.  Choose $\varepsilon = 1/k$ for $k=1,2,3...$.  Then, there is $1/k < a_k < b$ for all $k$.  Now, you can see that $a_k \rightarrow b$, and since there are no other accumulation points (last paragraph), it is the limit.
