I've never heard of commercial transport between the two places, though private boats do make the journey. If you do get to San Pedro, I'd suggest Island Divers for a dive op that meets your requirements. Lots of places to stay (depending on time of year). Locally I'd look at Ruby's Hotel on the beach nearby, though it can be a bit noisy. Not far away is Sunbreeze, several rungs up in quality and rather more expensive. Probably the best value is Banana Beach, a couple of miles down (south) the beach. There are lots of other places, of course. When will you be in San Pedro?
If you can find a dive op in Xcalak that goes to Chinchorro Bank I'd be inclined to do that.