I am familiar with two explanations for the phenomenon of visible color.
The first is that, for any given object, there are some wavelengths of light it reflects and some it absorbs. The reflected rays reach our eyes and thus determine the color of the object from a human perspective. So if an object appears red under white light, it's because it absorbed light from the green-blue-violet end of the visible spectrum and reflected light from the red end.
However, my understanding of light from the quantum perspective seems to contradict this picture. In quantum mechanics (as I understand it) "reflection" is the process of a photon being absorbed and then re-emitted by an atom. In order to be absorbed by an atom, the photon must have energy corresponding precisely to the difference between two possible electron energy states, meaning only certain discrete wavelengths can be absorbed, and these wavelengths should be exactly the same as those emitted.
How is it that macroscopic objects absorb certain wavelengths and re-emit others given what's happening at the atomic level? What am I missing or misunderstanding here?