Maui.
Every beach has snorkel options and most are shallow. You can also go on combo snorkel/dive trips out to Molokini Crater on the Pride of Maui, or some dive boats like Maui Diamond II (there's others) Some of the Lanai dives are also good snorkels - we dove Sharkfin around the outside, others snorkeled in the bay - with Lahaina Divers.
Trilogy sails big catamarans out there and offers snorkeling, snuba and scuba on the same trip - plus a bbq.
On Maui, Black Rock is famous for either and Kapalua Beach is very shallow. South Maui also has a dozen beaches that are also good snorkels - La Perouse is probably a better snorkel than dive.
Maybe Kauai also - many of the beaches are snorkels. Some like Lydgate - I walked out till I could barely see people on the beach and was still standing. Koloa Landing is good for both. And although it sounds odd, the kiddy pool at Poipu Beach is entertaining - it's a man-made breakwater so only little fish get in - 4-5' deep.
Or in the Caribbean:
Bonaire is an option. Dee does her Touch the Sea snorkel trips there from a boat or shore. Bari Reef - one of the best dives on Bonaire is also a very good snorkel to the south - I spent 30 mins snorkeling in my BC there. Bonaire could be pretty boring for a teen though - not much to do/see topside.
Another option is Curacao. Same reef just better access to it off sandy beaches. Much of Bonaire is entered over iron shore - it's slick and sharp. Curacao is a cheaper flight and cheaper everything than Bonaire since it's the deepwater port. Most things on Bonaire go through there first - that doesn't cost less...lol
The Dive Bus does escorted shore dives - they also bring snorkelers with (for a reduced fee) The Tugnoat - one of the famous dives - is 17' deep. I've been there when a cruise excursion dropped 50 snorkelers on it. The north side of Playa Jeremi - a protected cove - is on Frommer's Best Caribbean Snorkels. Almost all the beaches have facilities, food, often a dive shop. You won't find that at any of them on Bonaire. There's about 5x more activities on Curacao also.
www.curacao.com
Grand Cayman is another option. But
pricier. Turtle Reef is both a snorkel and a dive site. Lighthouse Point is another - it starts 6' off their dcok and stays shallow for a while.Eden Rock downtown is another - in some places the reef is almost exposed at low tide but it's 50 yards from the cruise port. The Westin has a snorkel trail off their beach but most resorts on Seven Mile Beach are just sand offshore. Sunset House would be good for both also - the Saltwater Pool is steps down into a shallow pool that lets out into a shallow reef - maybe 15' deep.
He can also snorkel the Kittiwake while you dive it amd Stingray City is 14' deep. A family on our dive boat brought their kids to snorkel down while we fed the rays. Testudo's Snokel Guide lists more options.
if you read the site descriptions on shorediving.com a lot of them are about snorkeling.