To answer your question about the archers... it had to do with distance (the first time they fired at the Spartans, they were much further away) and the fact that the Spartans had broken the phalanx in the second archer attack. In the initial attack, the Spartans were in their traditional formation which allowed them to protect and cover eachother, once that broke down in the final battle, they were easy pickings because (with enough arrows) eventually you'll hit some part of the body not covered by a shield. Also, and I only know any of this because I watched a History Channel doc. about the battle of the 300, the Spartans shields were covered in with a thin layer of metal (Bronze, I think) which gave them significantly more protection than the wicker (yes, literaly made of wicker) shields of the Persians.