Fuglede's theorem in finite-dimensional vector space
The way to think about this problem is when $B$ is diagonalizable, and $A$ being normal is diagonalizable (over $\mathbb C$) so we can call on simultaneous diagonalizability, recognize that being normal $A^*$ may also be simultaneously diagonalized with $B$ (via the same similarity transform that we'd use on $AB$) which implies that $A^*B = BA^*$. However it is conceivable that $B$ might be defective-- so a more direct argument can be employed to compute the norm of the commutator
$\Big\Vert A^*B - BA^*\big\Vert_F^2$
$=\text{trace}\Big(\big(A^*B - BA^*\big)^*\big(A^*B - BA^*\big)\Big)$
$=\text{trace}\Big(\big(B^*A - AB^*\big)\big(A^*B - BA^*\big)\Big)$
$=\text{trace}\Big(B^*AA^*B\Big) + \text{trace}\Big(AB^*BA^*\Big)- \text{trace}\Big(B^*ABA^*\Big) -\text{trace}\Big(AB^*A^*B\Big) $
$=\text{trace}\Big(AA^*BB^*\Big) + \text{trace}\Big(B^*BA^*A\Big)- \text{trace}\Big(B^*ABA^*\Big) -\text{trace}\Big(BAB^*A^*\Big) $
$=\text{trace}\Big(AA^*BB^*\Big) + \text{trace}\Big(B^*BA^*A\Big) - \text{trace}\Big(B^*BAA^*\Big) -\text{trace}\Big(ABB^*A^*\Big)$
$=\text{trace}\Big(AA^*BB^*\Big) + \text{trace}\Big(B^*BA^*A\Big) - \text{trace}\Big(B^*BAA^*\Big) -\text{trace}\Big(A^*ABB^*\Big)$
$=\text{trace}\Big(AA^*BB^*\Big) + \text{trace}\Big(B^*BA^*A\Big) - \text{trace}\Big(B^*BA^*A\Big) -\text{trace}\Big(AA^*BB^*\Big)$
$=0$
thus by positive definiteness of the (squared) Frobenius norm we have
$\Big\Vert A^*B - BA^*\big\Vert_F^2 = 0 \longrightarrow A^*B - BA^* = \mathbf 0\longrightarrow A^*B = BA^*$