Here is a reasonably easy way, which nevertheless uses part of the spectral theorem.

It is enough to show that the linear space $\mathcal E$ generated by all eigenvectors of $U$ is dense in $H$. Now, it is well-known that if (and only if) $x$ is orthogonal to $\mathcal E$, then one can find a set of integers $D\subset\mathbb N$ with density $1$ such that $\langle U^nx,x\rangle\to 0$ as $n\to\infty$ along $D$. This can be proved by only using the existence of the spectral measure $\sigma_x$, i.e. the positive measure on $\mathbb T$ whose fourier coefficients are $\langle U^nx,x\rangle$; see e.g. Krengel's classical book. Using this, we have to show that $x=0$.

The set $D$ with ${\rm dens}(D)=1$ contains an infinite difference set $A-A$. By the compactness assumption, one can find an increasing sequence $(n_k)\subset A$ such that $U^{n_k}x$ tends to some $z\in H$; and we may assume that $d_k=n_{k+1}-n_k\to\infty$. Then $\langle U^{d_k}x,x\rangle=\langle U^{n_{k+1}}x,U^{n_k}x\rangle\to \Vert z\Vert^2=\Vert x\Vert^2$, and hence $x=0$ by the choice of $D$.