When you get to Chetumal, catch a boat from there to San Pedro. Two boat-companies run daily service and depart around 2:30 PM (Mexican time)for San Pedro. Both companies have offices on or adjacent to the municipal pier in Chetumal. Suggest that you arrive at the pier around 1 to get your ticket etc. Cost is about $30 US one-way.
The boat is very comfortable, with reserved seats and a movie. The ride is 90 minutes from Chet to San Pedro. No bathroom so do visit the rest-room on the pier prior to departure.
Enjoy!