as Penny suggests, the snorkeling on the Pacific side is not what it is on the Caribbean side; the water is cooler (not cold) and not as clear. But it is great fun. And Puerto Vallarta and Cabo San Lucas are better for snorkeling and other water sports than Mazatlan. Mazatlan is great for shopping. You can take an open-air taxi to the "Golden Zone" to one of the beautiful beach resorts, like El Cid, and use their facilities (beach, pool, showers, etc.) at no charge--just tell them you are a cruise ship passenger. And you have a great assortment of shops right there; everything from souvenirs to real quality items. And great food, either at El Cid or one of many other restaurants right in the area. I like "The Shrimp Factory" for gorging on grilled shrimp and ice cold Pacifico beer, which is made right in Mazatlan.
For the birthday celebration I would suggest reservations for Sabatini's or Sterling Steakhouse on the ship. You won't find anything better ashore; and besides, you sail at 5:00.
Have a great family cruise!