Different religions have different expectations of what marriage is. From a government aspect, marriage is a civil contract. The government cannot favor one religion's definition over another and cannot treat people unequally under the law when defining that contract so their definition of marriage is necessarily going to differ with that of a particular religion.
The best solution is to remove "marriage" from government and call it something else that does not have religious/moral attachments to it.
Also, it would be "a means to guarantee people could decide for themselves to BE MORAL *OR NOT*". If you do not include the "OR NOT", then there is no deciding and there is also no freedom, is there?