My first word of advice is to secure your account using a credit card instead of cash. It makes things simpler and avoids you walking around with that much cash in your pocket. It also gives you a recourse. If that isn't an option then US$2000 should be adequate for two people.
I suggest using an ATM before you board to obtain cash. The ship's ATM does charge a fee and you can avoid it by using a bank ATM while in New York.
You will be charged for sodas, alcoholic drinks, specialty coffees and bottled water. I see no need for bottled water as the water from desalination on the newer ship "should" be quite good. The amount of alcoholic drinks, wine and shops purchases will govern your onboard account. Your spending on shore will govern the amount of cash you need there. There will be many shops to tempt you with duty free purchases and local trinkets, jewelery, crafts and wares. It's up to you to figure out your budget. Some people will spend $100 or $1000 per person a day, others will spend $20.
One other thing to watch is the video arcade. The machines are not free. They will run about .75 to $1.50 per game. This can add up fast so your son should have budget of how much he can spend there.
I'm sorry I can't give you a hard number but it varies from person to person. The rule of thumb that I give is $100 per person per day. That will usually cover the majority of people. Your $2000 falls into that category.
Take care and have a wonderful cruise.