In the really old days only one first name was used.
The first to give their children two names were noble families; the earliest examples can be seen around 1600.
During the 18th century the custom of two names slowly spread, from the nobility and gentry to the clergy and town-people and finally to country-people. First more well-to-do farmers, later more or less everybody and finally, during the late 19th century, it became the norm to have several first names.
There were great variations between different parishes, no doubt in many cases due to the vicar. In some parishes it was mostly girls that were given two names, in other parishes it was the boys, in some parishes practically everyone had two names and in some parishes you only very rarely see two names.
From the mid 19th century there was an explosion of having two or three (or more!) names; the names were quite often VERY fancy and untraditional - even Royal names were in common use. English names like Jenny (cf our famous opera singer Jenny Lind) became popular along with French and German names, also names from the Old Testament (previously quite uncommon, sometimes regarded as offensive even). The reason for this was that everyone suddenly realized that however poor you were, you were free to give your children posh names. And probably - though I have no proof of this - the vicars had been given instructions to allow people to give their children these names. Because still today you are not allowed to call your children whatever you want and it was of course a whole lot stricter in the old days.
There has however always been those that have only one name. In the 1970's there was something of a fashion giving children only one name but these days we're back to two or three names. Very often your real first name (the one that is actually used) is your own name, meaning that your parents really thought this one through and decided that you looked like a Michael or a Patricia or whatever - but your second (third etc) name is apt to be a family name, Anna after grandmother or Peter because all the first-born sons are called that. Much like Olle Andersson here describes his family!
An added thought: sometimes - in the 18th, 19th century - you see that one child has only one name and all its siblings have two or three names. Then, usually, that child was born very sickly and not really expected to live so they didn't waste names on it - but of course sometimes it survived anyway. This is also the explanation when you see two grown children, siblings, with the same name (it's very uncommon but it does occur).
Ingela