Every diagonalizable matrix $N$ on a finite-dimensional vector space $X$ is normal with respect to some inner product on $X$. Indeed, if $B=\\{ b_1,b_2,\cdots,b_n \\}$ is a basis for $X$ such that $Nb_k=\lambda_k b_k$, then you can define an inner product $\langle \cdot,\cdot\rangle_{B}$ by
$$ \langle \alpha_1b_1+\cdots+\alpha_n b_n,\beta_1 b_1+\cdots+\beta_n b_n\rangle_{B}=\sum_{j=1}^{n} \alpha_j\beta_j^*, $$ and you have the adjoint $N^*$ of $N$ with respect to this inner product given by $$ N^*(\alpha_1 b_1+\cdots+\alpha_n b_n)=\alpha_1^*b_1+\cdots+\alpha_n^*b_n. $$ So $N^*N=NN^*$ because $N^*,N$ share eigenvectors. Furthermore, the basis of eigenvectors is orthonormal with respect to $\langle\cdot,\cdot\rangle_B$. So, normality is not more or less general than diagonalizability; it's a matter of choosing the right inner product in order to make a diagonalizable $N$ normal.