Actually, they don't. A pulse of light can have more than one speed because it is made up of light of different wavelengths. The individual waves travel at their own phase velocity, while the pulse itself travels with the group velocity. In a vacuum all the phase velocities and the group velocity are the same. In a dispersive medium, however, they are different because the refractive index is a function of wavelength, which means that the different wavelengths travel at different speeds.
Interesting. So if I have a red laser and a violet laser, and I fire both at sea level, what are their respective speeds? Are they much different than 186,000 mi/s?