Cuba actually has great diving variety being a huge island, though I can understand Isla de Juventud to be more limited. Dives in Havana Bay and the Bay of Pigs were especially memorable, though decidely un-fishy. Cozumel is probably somewhere in between variety wise, but definitely fishier. There is definite variety between the wall dives and the reeftop dives, but besides a wreck and a few other special sites, you'll probably have seen about all there is to see in a week or so. That's fine for many people who are just happy to be underwater. For me, if I'm diving with my camera, I can find plenty of things to occupy my time even diving the same site over and over again. But without camera, I'm not sure I'd want to spend three weeks in one place. Heck, I got bored at Wakatobi before my ten day stretch was up, after my camera died on me.
Without much trouble, you could ferry to the mainland to try diving that side, try diving cenotes, ferry to Isla Mujeres, etc. Though you might wish you stayed on Cozumel. I tried Cancun once and it was very similar to South Florida - no reason to leave the U.S. for that.
The cheapest all-inclusives might be in line foodwise with AI food in Cuba. I don't remember Hotel Cozumel dinners being any more edible than some of the mystery meat and canned veggies I experienced on Cuba, but the food quality improves as the room rate increases. Cozumel Palace, for instance, is quite good.
But you don't need the alcohol, so why pay for it? Scuba Club is an all-inclusive that doesn't include alcohol but those who have stayed there seem to enjoy the food. You'd be surrounded with the same divers you're diving with during the trip, so meeting people will be easier. And the variety would increase since the shore diving has its own special attributes: lots of juveniles and other critters to discover that you won't find elsewhere on the reefs. Since you're not drinking, you can night shoredive as well, again expanding the variety of sea life to experience. There are many reports about Scuba Club on Scubaboard, including lots of pictures.
Edit: Just saw gstrek's post after submitting mine. Apparently I wasn't alone in thinking Scuba Club would be right for you. Caveat - I have not stayed there personally since I prefer my AIs with alcohol, but should my liver ever fail, I'd try it in a heartbeat.