I would suggest their on board cruise cards which would have to be presented as payment would prohibit them from purchasing alcoho.
To pay for anything on board you have to present your SeaPass card. SeaPass cards for children have a hole punched in them which clearly indicates they are under age so no member of staff will serve them alcohol. Don't worry.
Don't worry they are very clued up on this being American, we took our 17 and 18 year olds and had to sign all sort of forms to allow the 18 year old access to alcohol as their age limit is 21. It really is not a problem.