The great thing about Lamu is that it's extremely safe and relaxed and Lamu town is wonderful for exploring (no vehicles!). In comparison, Zanzibar is a big island (effectively a country in its own right in federation with the mainland as Tanzania) and doesn't have the same sense of personal discovery, though there's a huge choice of resort-style hotels, especially on the east coast, and lots of snorkelling opportunities. Lamu has plenty of places to stay, from very budget to luxury. Lamu's beach at Shela (a small village 40 mins walk along the waterfront, or 20 mins by dhow, 5 mins by motor boat) is beautiful, but there's no snorkelling from the beach itself. You can do excellent snorkelling trips by dhow out to the reef. I'm not aware of any wrecks in the area, but would be interested to know.
Somalia is 100km further northeast from Lamu and doesn't pose any danger.
Have a great trip whatever you decide.