Since an arbitrary $\rho$ is self-adjoint, it has the spectral decomposition $\rho = \sum_n \rho_n |\psi_n><\psi_n|$, in terms of an orthonormal basis $\{ |\psi_n>\}$, which here we pick discrete for simplicity.
Hermiticity implies $\rho_n = \rho^*_n$. $\mathrm{Tr} \rho = 1$ implies $\sum_n \rho_n =1$. Semi-positivity implies $0 \leq \rho_n$. Together they imply $0 \leq \rho_n \leq 1$, which implies $\rho^2_n \leq \rho_n$. Hence, $\mathrm{Tr} \rho^2 = \sum_n \rho^2_n \leq \sum_n \rho_n = 1$ and so $\mathrm{Tr} \rho^2 \leq 1$ for a generic state, as you mention.
Now let's start assuming that $\mathrm{Tr} \rho^2 =1$. Following the inequalities we just wrote, this implies that $\rho^2_n = \rho_n$ for all $n$ i.e. $\rho^2 = \rho$. In particular this implies that $\rho_n = 1$ or $\rho_n = 0$. More precisely, due to the trace condition $\mathrm{Tr} \rho = 1$, only one $\rho_n$ is equal to one while the others vanish. This is a pure state.
The reverse implication is direct.