Why can't the molecules of an ideal gas have the same speed?
No you cannot.
we can show that (via conservation of kinetic energy and momentum) the speed of the particle before and after collision is the same.
Only in the center of mass of two elastically colliding particles the momentum remains the same. Each pairwise collision has a different center of mass. In the laboratory frame, which is the frame one is trying to model the ideal gas, all the momentum might be taken by one of the particles, leaving the other motionless in the lab. This happens with billiard ball collisions all the time. See this analysis. So even if one made an experimental setup with all the particles of the ideal gas with the same speed, after the first scatter, speeds will change because they will not all be head on, there will be angles, and then the laboratory versus center of mass argument prevails.
The distribution functions for the ideal gas were given by Maxwell using simple and reasonable assumptions. Boltzman refined this.
It is a model, i.e. a theoretical formula, that has been validated by data over and over again.
Even if initial speed of all the particles was same, the molecular collisions will disrupt this uniformity.
I want to show this happens based on a diagram (on the left) from one of Maxwell's papers.
The centre and right diagrams are for two particles with the same mass travelling at the same speed $u_1 = u_2$ and for ease of presentation it is assumed to be a 2D collision.
The velocities in the laboratory frame of these two particles which are about to collide are $\vec u_1$ and $\vec u_2$ and represented in the vector diagram in the centre as $\vec{OA}$ and $\vec {OB}$.
The velocity of the centre of mass of the two particle system relative to the laboratory frame is represented by $\vec {OG} =\vec V = \frac 12 (\vec u_1 + \vec u_2)$.
The velocities of the two particles in the centre of mass frame are $\vec v_1 = \vec u_1 - \vec V = \frac 12(\vec u_1 -\vec u_2)$ and $\vec v_2 = \vec u_2 - \vec V = \frac 12(\vec u_2 -\vec u_1) = - \vec v_1$.
If the collision is elastic then after collision the magnitude of the velocities of the particles stays the same $(v_1 =v_1'=v_2=v_2')$ and if the collision is not head-on only the direction in which the particles are travelling will change by angle $\gamma$.
The velocities in the centre of mass frame of the particles after the collision, $\vec v'_1$ and $\vec v'_2$, are represented by the vectors $\vec {Ga}$ and $\vec {Gb}$ in the right hand diagram.
The velocities in the laboratory frame of the two particles after the collision are represented by the two vectors $\vec {Oa}=\vec w_1 = v_1' +V$ and $\vec {Ob}=\vec w_2 = v_2' +V$ and they are obviously not equal in magnitude.
So a collision changes the speeds of the particles and you can imagine this happening time and time again and in 3D.
"we can show that (via conservation of kinetic energy and momentum) the speed of the particle before and after collision is the same."
I think you'll find that for a head-on elastic collision between balls of equal mass, the particles swap velocities. But this is not the case for non-head-on (oblique) collisions. A naïve assumption would be that in this case the velocity swap occurs for components along the line joining the centres at collision, but that each ball retains its own velocity component perpendicular to this line. In that case the speeds of the particles, $\sqrt{v_{perp}^2 + v_{par}^2}$ will in general change, and not merely exchange.
I'm not that impressed by your textbook. In perfectly elastic collision, KINETIC energy is conserved. Energy is conserved however inelastic the collision.