The key point is that unitary matrices have orthogonal eigenvectors, thus you can form an orthonormal basis of eigenvectors, which is the same thing as a unitary matrix $A$ with the property you describe.

Let $v$ and $w$ be two eigenvectors with different eigenvalues $\lambda_v$ and $\lambda_w$, then $(v \cdot w) = (Uv \cdot Uw)=(\lambda_v v \cdot \lambda_w w)= \lambda_v \bar{\lambda}_w (v \cdot w)$. Since $|\lambda_w|=1$, $\lambda_v \bar{\lambda}_w=\lambda_v \lambda_w^{-1}\neq 1$ so $v\cdot w=0$.

So choose an orthonormal basis for each eigenspace and take the union, then choose the unitary matrix mapping $e_n$ to the $n$th basis vector.