Homosexuality is a sin plain and simple. Therefore gay marriage is also a sin. The Church of England will block it in the House of Lords just like they block assisted suicide for terminally ill patients. I too dont think it will even get that far as the House of Commons will throw it out due to low support. You are very much right that the majority of people in this country dont want gay marriage and neither do most of the gays.
I suspect its a small number of 'in your face' homosexuals trying to rub the Churches nose in it by undermining marriage. I dont know why Cameron is alienating large numbers of voters to please a smaller number. But then again his strategical thinking clearly isnt any good as he didnt manage a majority at the last election!
As humans we get to choose what concepts will govern our lives. The time is right to accept that we are all born with equal rights to form partnerships with whoever our biological urges dictate.
This is about equality before the law and it will get passed, if not this time, then some time in the near future. The times are a changing and human dignity is the new guiding principle.