Regarding the difference between public and private employment, a public servant is paid by the public to facilitate the law. They accept that position willingly with the implicit understanding that they are being paid to facilitate the law in its entirety, not simply those laws with which they agree.
Laws change, and as they change, so too must the duties of those who wish to remain public servants – no one is forcing them to remain so.
If you paid me to mow your lawn, and I took your money, got in my car, and drove away, wouldn’t I be guilty of breaking our implicit agreement and stealing your money? A public servant, by virtue of accepting a public position, is making an agreement with the public, their employers, that they will accept their pay in exchange for facilitating public law. If you don’t agree with public law, don’t accept a public position. The private sector is still alive and well (for the time being).
Another example of public employment with an implicit agreement is law enforcement. What do you think would happen to you if you joined law enforcement, accepted a paycheck, and then refused to follow orders on religious grounds? How long would you stay employed, and how many of Kim Davis’ supporters would have your back?