My suggestion is to break up your trip, and spend a few days on Cozumel, then return to the mainland and spend a few days in Tulum to dive the cenotes and see Mayan ruins. (Or do the reverse and stay in Tulum first.) I do not know why you would want to do "more diving at the end of the trip before flying home." Just take the bus back to Cancun for your flight home.