This seems weird: If $T: V \rightarrow V$ is diagonalizable linear operator on finite dimensional vector space $V$, and $S:V \rightarrow V$ is another linear operator, then take basis $B$ for which $[T]_B$ is diagonal matrix. Do we not have
$[TS]_B= [T]_B [S]_B = [S]_B [T]_B =[ST]_B$ hence $ST=TS$? What went wrong?
Why would a diagonal matrix commutes with another matrix? Take for example:
$$\begin{pmatrix}1&0\\0&2\end{pmatrix},\begin{pmatrix}0 & 1\\0&0\end{pmatrix}.$$
In other words, your computation went wrong here: $$[T]_B[S]_B=[S]_B[T]_B.$$