The "equal angles" law of refection on a flat mirror is a macroscopic phenomenon. To put it in anthropomorphic terms, how do individual photons know the orientation of the mirror so as to bounce off in the correct direction?
According to quantum electrodynamics (QED), light can be thought of as going along all paths. However, the only paths that do not experience destructive interference are those in the neighbourhood of paths with stationary (e.g., minimal) action (time), which, in your case, is the "equal angles" path.
I strongly recommend reading Feynman's QED: The Strange Theory of Light and Matter. In the link you'll also find a link to video.
So, with QED in hand, anthropomorphically, photons don't need to know where to go, because they go everywhere. :)
When light incides on a perfectly reflective material, each atom in the mirror will absorb and re-emit photons, but since the atom is a point particle it will re-emit in all directions, as a coherent point source. The law of equal angles in specular reflection is a consequence of the fact that the phase of the re-emitted radiation is tightly bound to the local phase of the incoming beam. The angle of incidence determines the spatial variation of this phase, and thus of the relative phases of each spherical source, which in turn determine the direction in which they will interfere constructively.
Essentially, the atoms act like a phased array such as the one in this applet; adding more sources improves the outgoing beam collimation. This produces two beams, one of which is reflected and another which interferes destructively with the incoming wave.
Recently I wrote a blog post on the topic, that how mirrors reflect in the atomic level - based on this post. Most of your question has already been addressed by the Physics.SE post I linked. Anyways, here goes...
In classical electrodynamics, the phenomena can be explained when light is thought to be made of oscillating electric fields. Light goes in, oscillates the atomic dipoles (polarization) in the glass (being insulator, it has dipoles) which in turn causes the dipoles to emit an electromagnetic radiation which has experienced of same frequency but with some phase shift ($\pi/2$) relative to that of incoming wave, that causes it to lag behind. It has to be noted that the electromagnetic waves are emitted by the dipoles everywhere (not only along the direction of incoming wave). It's just that the other paths taken by light interfere destructively and cancel out one another. The forward radiation goes along with the wave and the stuff that's reflected backward is what you see as the 4% reflected light (from glass).
When the wave hits the metal-glass interface (remember, reflection happens whenever there's a refractive index mismatch), the atoms are shaken back & forth. But, this time the electromagnetic wave is shifted to a phase of $\pi$ (due to the conductivity of metals) which causes the forward radiation to interfere destructively and hence, light doesn't pass through metals. Now, the backward radiation passes through glass, gets a few partner waves and that's how you see your face in the mirror.
Now, all that I've explained so far may be intuitive and also, may satisfy you, because it's classical view, which is conceivable. Bad luck..!!! That doesn't explain everything. You can't speak about the path of a single photon or what a single electron does in an atom. It's a mix-up, a superposition of all probabilities. All you can play with, are the chances that, how the stuff is likely to get reflected, etc. Moreover, as @Igor says, it's a collective phenomena. A photon can do whatever it wants to. It can interact with all the atoms at once, anything. So, @aufkag is totally right. And, this is what happens. Light takes the shortest path (path with minimal time) to reach the detector. In 2D euclidean plane, that geodesic is a straight line.
You may ask a question, "why doesn't the frequency change?" The discrete energy packets of light (photons), are either absorbed as a whole, or just transmitted undisturbed. Only the intensity is affected. If it were otherwise (if the frequency did change), when you do experiments in glass, you could easily notice that the color of light should've changed (blue will become red and finally disappear from our sight, as it goes into IR and radio region). But, that doesn't happen.
The sum of paths contributed by all those arrows (which are constructed by the time taken) constitute to produce the path taken by light. I don't like to brief it here. But, I highly recommend watching Feynman's QED lectures (especially the second video, where he explains about the Fits of reflection).
There are a few ways of approaching this. Visible light is about 500nm, while typical atomic diameters are on the order of 0.5 nm to be generous (citation for carbon is 0.2 nm). So from this point of view the rough properties of the surface can't be resolved. However, each individual atom will absorb and re-radiate depending on the electrons that surround it, and the energy levels that the electrons occupy is heavily dependent on the material (it's band structure). For example, glass lets through a lot of visible light because there aren't any available energy levels for electrons to go into when they absorb visible light, but may block UV light because those energy levels are available.
Furthermore, as we get to X-rays the wavelength is short enough that individual atoms can be resolved. Because photons from neighbouring atoms are significantly out of phase, they interfere and instead of a nice specular reflection like from a mirror, you get strong diffraction minima and maxima. This is the basis of X-ray crystallography.