There is an infinite number of items in your union, so you can't take the min so easily. You could have $\delta=0$. You have the good idea, but we need to construct the finite union. We will assume U closed, because we can always do the same on the closure of U.
Given $\epsilon>0$ and $x_0=\min U$, we will define $\forall n,\ x_n=\max\left\{
{ x\in \left[x_{n-1}, \infty \right] } \mid
{ \lvert f(x)-f(x_{n-1})\rvert\leq\epsilon }
\right\}$.
Note that $x_n$ can be equal to $\infty$.
$\left(x_n\right)$ is stritly incresing, so converge to
$x_\infty \in \mathbb R_+ \cup \{\infty\}$.
If
$x_\infty \neq \infty$,
then $f$ is not continuous in $x_\infty$, which is not possible.
We have $U $ bounded, and $x_n \rightarrow +\infty$, so $\exists n_0, \forall n>n_0, x_{n} \notin U $. Now $U \subset \bigcup_{i=0}^{n_0} [x_i, x_{i+1}]$ and you have your finite union.
The second half of the proof is not correct, as the $\delta>0$, does not necessarily work for all $x$, $|x-a|<\delta$, but only for the terms of the sequence you chose.
Updated version. First define $g(a)=\lim_{n\to\infty} g(x_n)$, as you have done. Let $\varepsilon>0$, then there is a $\delta>0$, due to uniform continuity, such that
$$
|x-y|<\delta\quad\Longrightarrow\quad |g(x)-g(y)|<\varepsilon/2.\tag{1}
$$
In particular, let $$|x-a|<\delta/2, \tag{2}$$ and $n_0$, such that $n\ge n_0$, implies $|x_n-a|<\delta/2$. Then every $x$ satisfying $(2)$, also satisfies
$$
|x-x_n|\le |x-a|+|x_n-a|<\delta,\quad \text{for every}\,\,n\ge n_0.
$$
Hence, due to $(1)$, if $x$ satisfies $(2)$ and $n\ge n_0$, then
$$
|g(x)-g(x_n)|<\varepsilon/2,
$$
or equivalently
$$
g(x)-\varepsilon/2<g(x_n)<g(x)+\varepsilon/2, \quad \text{for every $\,\,n\ge n_0\,\,$
and $\,\,|x-a|<\delta/2$,}
$$
and taking the limits, as $n\to \infty$, we obtain
$$
g(x)-\varepsilon/2\le g(a) \le g(x)+\varepsilon/2, \quad \text{for every
$\,\,|x-a|<\delta/2$,}
$$
or
$$
|g(x)-g(a)|\le\varepsilon/2<\varepsilon \quad \text{for every
$\,\,|x-a|<\delta/2$.}
$$
Thus, for every $\varepsilon>0$, there exists a $\delta>0$ such that
$$
|x-a|<\delta/2\quad\Longrightarrow\quad|g(x)-g(a)|<\varepsilon.
$$
Best Answer
Assume that $f$ is unbounded, and $\sup_{x\in A} f(x)=\infty$. (The case $\inf_{x\in A} f(x)=-\infty$ can be treated in the same way.)
Then, there is a sequence $\{x_n\}\subset A$, such that $f(x_n)\to\infty$. We can pick a subsequence $\{y_n\}$ of $\{x_n\}$, such that $f(y_{n+1})-f(y_n)>1$, for all $n\in\mathbb N$. Since $f$ is uniformly continuous, there exists a $\delta>0$, such that, for all $x,y\in A$, $$ |x-y|<\delta\quad\Longrightarrow\quad |\,f(x)-f(y)|<1.\tag{1} $$ But as $A\subset\mathbb R$ is bounded, then $\{y_n\}$ has a convergent subsequence $z_n\to z\in \overline{A}$. In fact, we may pick the subsequence $\{z_n\}$, so that $|z_m-z_n|<\delta$, for all $m,n\in\mathbb N$, which implies that, for all $m,n\in\mathbb N$, with $m\ne n$, we have $$ |z_m-z_n|<\delta, \quad\text{while}\quad |f(z_m)-f(z_n)|>1, $$ which contradicts $(1)$.
Note. Since $f$ is uniformly continuous, then $f$ extends continuously to $\overline{A}$. This is done in the following way. If $\{x_n\}\subset A$ is Cauchy, then so is $\{f(x_n)\}$, due to the uniform continuity of $f$. Hence, $f(x)$ can be extended continuously (and uniquely) to $\overline{A}$.
But $\overline{A}$ is compact, since $A$ is bounded. The extension of $f$ shall be bounded, as it is continuous on a compact set, and thus $f$ is bounded on $A$.