We have that for every $n\in \Bbb{N}$ the sequence $x_n \in A$, and since $A$ is bounded above by $G$ $$x_n\leq G$$ $$x_n - G \leq 0$$
Lets assume there is another upper bound for $A$ called $G'$, such that $G'<G$ - it follows that $0<G-G'$. Lets look at $x_n - G=0$ first. $$x_n - G = 0$$$$x_n=G$$ But we know that $G'<G$, therefore $G'<x_n$. So $G'$ is not an upper bound for $A$. Next we have that $x_n-G<0$, and we can write that $$\vert x_n - G \vert=-(x_n -G)$$ We know $x_n\rightarrow G$ as $n\rightarrow \infty$. According to the definition of a converging sequence, there is a natural number $N<n$, such that $$\vert x_n - G \vert < G - G'$$ $$-(x_n - G) < G - G'$$ $$-x_n + G < G - G'$$ lets reduce $G$ from both sides and we can conclude that $$-x_n<-G'$$ $$x_n>G'$$
Thus $G'$ is not an upper bound of $A$. Now since any number $G'<G$ can not be an upper bound for $A$ it must be that $G$ is the least upper bound. Correct?
Note that $x_n-G$ could be $0$ some of the time and strictly negative the rest of the time. That case is not really covered as you write it - it should at least be commented on.
However, this solution is pretty messy and a much easier way of showing this is:
$$ G-x_n=G-\sup_{n\in\mathbb{N}} x_n+\sup_{n\in \mathbb{N}}x_n-x_n\geq G-\sup_{n\in\mathbb{N}} x_n\geq 0, $$ since the supremum is the least upper bound. Thus, if $G-\sup_{n\in \mathbb{N}}x_n\neq 0$, define $\varepsilon=\frac{G-\sup_{n\in \mathbb{N}}x_n}{2}$. Then, $$ |G-x_n|=G-x_n>\varepsilon $$ for all $n$ and we conclude that $G$ cannot be the limit of $(x_n)_{n\in\mathbb{N}}$.