One of the main reasons people don't agree - religion.
Religions disapprove of same *** marriages. The bible states it to be an abomination. If you go back to the creation of man, Adam was originally one being of male and female parts. He then named all the animals, each of which was a a separate male and female. Adam realized he had no partner, and G-d saw it was bad for Adam to be alone so He put Adam in a deep sleep and separated the male and female parts by making Eve out of his rib (try to think of male and female as characteristics, not physical parts. 100% equal but different). That is why man and woman have a natural attraction.
But yes, religion is very against same *** marriages, and while I can't speak for all of them, in biblical times G-d's Bible was carried out stating they were an abomination (that is the word the Bible uses, not disgusting or immoral, but abomination), and they were put to death.
Nowadays same *** marriage is criticized much less because of free rights and all of that. However, religion does not define freewill as being allowed to do whatever one wants, it is the free will to follow the religion and do what is right. Therefore if the religion says no to homosexuality, the answer for them is no. Similarly, society's "tolerance". "Yes, you can follow your religion (but only if doesn't disagree with society). When someones religion disagrees with society, it is a problem and they immediately criticised (for example, those who are against same *** marriage are going against society's values of freedom, even though they are just following their religion). Very ironic but that's a completely different discussion. The point is that society has these views because that is what society deems as the correct morals for humanity (in this case it is freedom and right). HOWEVER, RELIGION HAS THEIR MORALS SET BY THEIR G-D AND RELIGION'S HOLY BOOK, NOT WHAT SOCIETY AND OTHER PEOPLE DEEM TO BE RIGHT AND WRONG.