"Passengers must obtain travel authorisation in advance in the form of an electronic ESTA permit whether staying on board or disembarking at any US port including San Juan in Puerto Rico, the US Virgin Islands or the Hawaiian islands. "
As said, you will need an ESTA for each person. This is valid for 2 years, so apply for it online a month or so before you go. On a cruise, you will do immigration at your first US port of call (looks like Boston from your question). Be prepared for an hour or more delay getting off the ship. US Border Agency staff are notoriously inefficent, but you may get lucky! We once had 3 staff in Ft. Lauderdale to process 3500 passengers...it took 4 hours!!