I think there's a difference between making a gay wedding cake and making a wedding cake for gay people.
I agree with you here.
If the wedding cake is indistinguishable from a wedding cake for straight people, then the bakery owner is merely discriminating against people he will sell to. It has nothing to do with speech.
This is where you lose me.
Consider this question... what if the customer was a straight person (i.e. the parents of one of the grooms) buying the cake for a gay wedding? It would be tough to sell the line that the Christian bakery owner is discriminating against the people he will sell to, if the people doing the buying are straight.
Another question to consider: if this were a birthday cake, would he have refused to sell it because the buyers are gay? If not, it would be tough to sell the line that the Christian bakery owner is discriminating against the people he will sell to.
If a business owner doesn't want to sell its services for an event it doesn't want to participate in, why should it be forced to?
If gun makers refuse to sell guns to a state's police force because they don't like that state's gun laws, should they be forced to sell them anyway?
If drug companies refuse to sell the drugs to the prisons who want to use them for lethal injection, should they be forced to sell them anyway?
Let the market decide the fate of such business, not the courts. If a business gets a reputation for not wanting to cater to gay weddings, and it goes out of business because outraged potential customers refuse to shop there, then so be it. If such a reputation isn't enough to shut down the establishment, and they can keep enough customers to be successful, then so be it.