Take any orthonormal basis $\mathbf e_1,\cdots,\mathbf e_n$. These are mapped to a set $T \mathbf e_j = \mathbf f_j$ which are also orthogonal (and assumed non-zero). Hence in our orthonormal basis, $T$ is a matrix with columns $\mathbf f_j$ which are orthogonal. $D=T^\dagger T$ is a diagonal matrix with entry $(jj)$ given by $\lVert \mathbf f_j\rVert^2$. Further, considering the angle between $\mathbf e_1$ and $\mathbf e_1+\mathbf e_k$ gives
$$\cos \theta = 1/\sqrt 2 = \frac{\mathbf e_1^\dagger D (\mathbf e_1+\mathbf e_k)}{\sqrt{\mathbf e_1^\dagger D \mathbf e_1\times (\mathbf e_1+\mathbf e_k)^\dagger D (\mathbf e_1+\mathbf e_k)}} = \frac{\lVert \mathbf f_1\rVert^2}{\lVert \mathbf f_1\rVert\sqrt{\lVert \mathbf f_1\rVert^2+\lVert \mathbf f_k\rVert^2}}$$
and hence $$\lVert \mathbf f_k\rVert = \lVert \mathbf f_1\rVert$$
Therefore, $D=\lambda I$ is a positive multiple of the identity matrix. Accordingly, $\lambda^{-1/2}T$ is an orthogonal matrix.
Thus since clearly such matrices always preserve angles, we are done. The answer is: non-zero multiples of orthogonal matrices.
Note: Whilst $T$ need not be diagonalizable, $T^\dagger T$ always is. (It's a real, symmetric matrix.)