Although they are synonymous, I do place a distinction between an amateur and a novice.
An amateur, technically speaking, does something on an unpaid basis. It is the opposite of a professional. The root of the word comes from the Latin amat, which means "love". Truly, an amateur does something for the love of it. (If they aren't getting paid, there is little other reason than because they enjoy it.)
The term 'novice' also comes from Latin. The word novus means "new". And a novice is somebody who is new at something. They have little to no training or experience. My dad has a joke that the word was originally "no vice", because the person had not been doing the activity long enough to develop any bad habits.
It's a simple distinction, but it's one that is worth making, even if many people assume that they both mean "not very good in quality".