Of course we do not require doctors to perform abortions against their will. That has nothing to do with this.

To use your analogy we'd have to be talking about an abortion doctor who refused their services to Hindus. 

This is a civil rights issue. In the same way that you cannot put up a sign in your store that says "no blacks" you are not allowed to discriminate based on who someone is. You have every right to discriminate based on what someone does however (no shoes no shirt no service). Because this baker had a business open to the public, but refused his services because they were gay, he violated their civil rights. 

He actually has done the right thing by refusing to offer cakes at all. If he can't stomach the idea that his services would be used by the public, of which some citizens might be gay, then he should not make cakes. Same thing for racist doctors: if you offer right to die services but don't like the idea of serving black people then you shouldn't offer it at all.