As you point out, you cannot logically get social acceptance through legislation.
That line's a tricky one....
You can not LEGISLATE social acceptance.
You can gain social acceptance through legislation though.
I know that seems counter intuitive, but it's not.
You can't go "You will accept gays on a personal level" as a law and expect that to cause social acceptance. That's attempting to LEGISLATE the acceptance.
However, if you pass legislations that essentially makes the legal treatment of gays, both in the private and public sector, equal to that of non-gays then you can possibly find that social acceptance follows such legislation because one of the big barriers that makes them appear different...how they're generally treated by various entites that are touched by the legislation...goes away. In that case you got social acceptance, in part, through legislation but you didn't legislate the acceptance.
I know it's a bit of a chicken and the egg type of thing, but I do think there's a different. It's kind of like saying that you can't parent your kid healthy, but if you make your kid play basketball and eat well then you're making him healthy thorugh parenting. (that sentence structure fails a bit -.-)
Does that make sense at all, even if you don't agree?
Actually, I got it! The perfect analogy for you
You can't simply book that a wrestler is over. IE you can't just go out and go "We're going to just put this guy out there in the main event and say he's over, and thus he'll be over". But you cant get a wrestler over through booking.