Being diagonalizable does not imply that it can be diagonalized with an orthogonal matrix.
The relevant result is: A matrix is unitarily diagonalizable iff it is normal (ie, $A^* A = A A^*$).
For example, $A = \begin{bmatrix} 1 & 1 \\ 0 & 2 \end{bmatrix}$. It is straightforward to check that $A$ is not normal, has two distinct eigenvalues, and the eigenspaces are $\mathbb{sp} \{ (1,0)^T \}$ ($\lambda=1$) and $\mathbb{sp} \{ (1,1)^T \}$ ($\lambda=2$) respectively.
It is easy to see that the eigenspaces are not orthogonal and that $A$ can be diagonalized by taking any non-zero vector from the two eigenspaces, say $p_1,p_2$, forming the matrix $P = \begin{bmatrix} p_1 & p_2 \end{bmatrix}$.
Then you will have $A P = P \begin{bmatrix} 1 & 0 \\ 0 & 2 \end{bmatrix}$, and $P$ is invertible (but not orthogonal) because $p_1,p_2$ are linearly independent.
Note: Hermitian matrices (or symmetric in the real case) are 'automatically' normal and can always be unitarily (orthogonally) diagonalized.
Note: Any orthogonal $U$ matrix can be 'turned into' an orthonormal matrix $\tilde{U}$ in the following way: Let $\Lambda = U^* U$, then $\Lambda$ is diagonal with positive entries on the diagonal. Hence we can define the square root $\sqrt{\Lambda}$ as the diagonal matrix of corresponding square roots. Then $\tilde{U} = U \sqrt{\Lambda}$ is orthonormal.