Here's a different proof of the identity just thinking of M, M* as operators (not as matrices). So, the invariant way of 'diagonalization by a unitary matrix' means that we have to find an orthonormal basis of eigenvectors. We can always find one eigenvalue λ and the complex numbers. The strategy is to choose one eigenvector v and say that its complement subspace is also preserved by the action of M. This complement subspace, being of lower dimension, already has an orthonormal basis by induction and this basis extended with v will be the required basis. This strategy can be done in a straightforward way if we assume M is hermitian M*=M (or symmetric matrix for real numbers). <v,w>=0 ⇒ <v,Mw>=<M*v,w>=<Mv,w>=0. So, M preserves the complement and the matrix is diagonlizable. This is the Spectral Theorem.
For a normal matrix, we have to choose the vector v which is simultaneously an eigenvector for M and M*. Then the proof still works as <v,w>=0 implies <v, Mw> = <M*v,w> = λ'<v,w>=0 where λ' is the eigenvalue of v with respect to M*.
We can find such a shared eigevector v as M, M* commute implies that M* will preserve the eigenspaces of M.
For a normal matrix, we have to choose the vector v which is simultaneously an eigenvector for M and M*. Then the proof still works as <v,w>=0 implies <v, Mw> = <M*v,w> = λ'<v,w>=0 where λ' is the eigenvalue of v with respect to M*.
We can find such a shared eigevector v as M, M* commute implies that M* will preserve the eigenspaces of M.