It may help to quietly insert "times" into the sentence. Many "times" a young girl has... for example. It is a phrase which refers to an individual i.e "a girl" but on many occasions. "Many a time i have thought..." does not mean i have many thoughts (!) just the same thoughts many times. No plural thoughts or girls! hope this helps a bit.
When I read your question I wanted to suggest the same thing as livboult: to think of it as 'many times'. You are right, it is funny, but it is definitely correct, it does require the singular for the verb: Many a young girl plays ... and many a horse has ... You can find it in english grammar books or if you google it :) (it's a bit different in German, but maybe it helps you to understand the meaning of "many" in this particular constellation better: "Manch junges Maedchen")