Spectrum of the sum of two commuting matrices
Solution 1:
Diagonalizable matrices
Let's say that $A$ and $B$ are diagonalizable. Then, since they commute, there exists an invertible matrix $T$ such that both $T^{-1}AT = D_A$ and $T^{-1}BT = D_B$ are diagonal matrices (Horn & Johnson, Matrix Analysis, page 52). The elements of the diagonal matrices are the eigenvalues. Thus we get:
$$A + B = TD_AT^{-1} + TD_BT^{-1} = T(D_A + D_B)T^{-1}$$
and so the eigenvalues of $A+B$ have the desired form.
General case
In the general case you can use simultaneous triangularization. The idea is the same, since $A$ and $B$ commute, there exists a unitary $U$ such that $U^*AU = T_A$ and $U^*BU = T_B$ where $T_A$ and $T_B$ are upper triangular matrices with the eigenvalues on the diagonal (Horn & Johnson, Matrix Analysis, page 81). Now we get:
$$A+B = U(T_A+T_B)U^*$$
and thus the eigenvalues have the desired form.
Solution 2:
Frobenius has proved that commuting matrices over an algebraically closed field can be simultaneously brought into upper triangular form (this holds more generally for a solvable Lie algebras of matrices by Lie's theorem). To prove this for commuting matrices, show that they have a simultaneous eigenvector and proceed by induction on the dimension.
One way to prove this last fact (again for commuting matrices) is to use the Hilbert Nullstellensatz, see here, a nice proof of which you can find online e.g. on p.116 of Pete L. Clark's notes.
Solution 3:
Yes.
Matrix Analysis by Horn and Johnson has a proof.