Factors that might lead to the emergence of synonyms include
- Language contact
- Specialised vocabulary for particular fields (medicine, law, hip hop culture, ...)
- Vibrant literature, particularly poetry
- Geographical dispersion/dialect diversity
1. Language contact
Language contact often leads to the borrowing of words. While these might fill a lexical gap, they often do not. For example, in German (and probably other languages, too) it is now not unknown to hear people use the words happy or nice, for which native equivalents exist.
2. Specialised vocabulary
Particular communities, such as lawyers, fishing enthusiasts or those involved in hip hop culture, often have specialised vocabulary that in many cases can have synonyms in general usage.
3. Vibrant literature/poetry
Creative writing has a tendency to invent new words to avoid the repetition of the same word, or words beginning in the same sound, or for words to end in the same sound/syllable (to produce a rhyme). Arabic literature, for example, vaunts itself as a creator of many synonyms, such as 99 ways of referring to Allah.
4. Geographical dispersion/dialect diversity
As you pointed out in the question, geographical dispersion might play a role. Language communities that are separated by geographical barriers such as a mountainside or sheer distance tend to diverge. Because of this divergence words might take on new meanings or new words might come up that then are synonyms of other words used in another community speaking another dialect.
Problems with the definition of synonym
As others pointed out in the comments determining what is a synonym is not trivial. Two words might be interchangeable in one context, but not in another. In other cases the lexical meaning of two words might be equivalent, but they belong to different registers (formal and colloquial), such as man and guy.
Associated with this is a tendency of languages/communities of speakers to not tolerate complete synonyms. Soon enough, they diverge in meaning or gain different connotations. For example, after the Norman Conquest many French words were borrowed into English. The word sheep derives from a Germanic root, and mutton from a Romance root. The contemporary French word mouton means sheep, but after it was borrowed into English lexical specialisation set in and it came to mean the meat, not the animal itself - presumably because only the French-speaking elite could afford to eat meat and the English-speaking peasantry was involved in raising the animals (There is a contrasting view which holds that the lexical distinction evolved later, but it isn't a problem for the argument that lexical distinctions arise after time - thanks to @hippietrail for the link).
Problems with determining which words belong to a language
The number of synonyms (however you define synonym) you count in a language depends on which words you think belong to that language. Cases that might be contentious include specialised vocabulary and loan words. Specialised vocabulary is often known only to the community that uses it, so you might want to exclude it from the vocabulary of the language since it is only known to a select group. On the other hand, there are bilingual dictionaries for many of these communities/fields which point to the fact that these words do have to belong to some language.
Loan words might after some time be considered to become part of a language, and in many cases are not transparent as loan words any more after some time. However, happy and nice are still transparent in German as loan words from English. I suppose many native speakers of German would not consider them German words, despite the fact that speakers with little or no knowledge of English might use and understand them, which suggests they have become a part of the German language.
In conclusion, these two problems will give rise to some methodological headaches when you actually want to count synonym pairs in a language.