Why do almost all SNPs have two alleles?
Well, though it is possible to have SNPs of more than two alleles, and some exist, due to the low probability of having a basepair change twice in the same base-pair (there are aproximately 3.000 Mb in the human genome) and have it in more than 1% of the population (remember we are talking about single nucleotide polymorphism) to classify as a polymorphism is a very rare phenomenon.

I can check the maths for it if you need it, but it's just matter of probability.