Being diagonal is not a property of an operator but of a matrix. That there exists an orthonormal basis $\beta$ in which $T$ is represented by a diagonal matrix doesn't imply that it is represented by a diagonal matrix in all orthonormal bases, so there's no contradiction here.
With respect to any orthonormal basis a self-adjoint operator is represented by a Hermitian (or self-adjoint) matrix, and the fact that there exists a basis $\beta$ in which it is represented by a diagonal matrix corresponds to the fact that every Hermitian matrix is diagonalizable by a unitary matrix.
Any normal matrix is diagonalizable and thus we can write $T = U\Lambda U^*$ for some unitary matrix $U$ - the matrix of eigenvectors - and diagonal matrix $\Lambda$ - the matrix of eigenvalues.
If $T^9 = T^8$, we have the following:
$$T^9v = T^8 v.$$
Suppose $v$ is an eigenvector of $T$, then $Tv = \lambda v$ and
$$T^9v = \lambda^9 v = \lambda^8 v = T^8 v$$
Thus we have that
$$\lambda^8(\lambda-1)v = 0.$$
Therefore $\lambda = 0,1$ and the eigenvalues are real.
We wish to show that $T^2 = T$. Using the fact that $T = U\Lambda U^*$, we have that
$$T^2 = TT = (U\Lambda U^*)(U\Lambda U^*) = U\Lambda^2 U^*.$$
This last equality follows from that fact that $U$ is unitary. However since $\lambda = 0,1$, we have that $\Lambda^2 = \Lambda$ and so $T^2 = T$.
To show $T = T^*$, we can again use the fact that the eigenvalues are real and that $T$ is normal:
$$T^* = (U\Lambda U^*)^* = (U^*)^*\Lambda^*U^* = U\Lambda^*U^*.$$
However since $\Lambda$ is a matrix of real numbers and is diagonal, $\Lambda^* = \Lambda$ and we are done.
Best Answer
To elaborate on fedja's comment: Let $(X,\mu)$ be a measure space, let $h$ be a bounded measurable complex-valued function on $X$, and let $T$ be the multiplication operator on $L^2(X,\mu)$ defined by $Tf = hf$. Show that $T$ is normal, and is self-adjoint iff $h$ is real-valued almost everywhere. Now show that $\lambda$ is an eigenvalue of $T$ iff $\mu(\{h= \lambda\}) > 0$. Taking as an example $X = [0,1]$ with Lebesgue measure, you should be able to use this to construct a normal, non-self-adjoint operator with only real eigenvalues, or with no eigenvalues at all.
The correct statement would be if a normal operator has only real spectrum (i.e. $\sigma(T) \subset \mathbb{R}$) then it is self-adjoint. But in infinite dimensions, an operator's spectrum may be more than just its eigenvalues.