We were in San Pedro last week, my daughters got their hair braided at a place across from the Maya Island Air. Her name is Sally, she does a great job, I can't remember the name of her shop but you will see kiddy corner from the eye care center.
When we were there a couple of weeks ago, there were several ladies that just walked up and down the beach and will do it right at your place. Cost was $15 US for shoulder length ($20 for long hair). Had mine done for the first time and loved it. Took about 90 minutes. Will be the first thing I do when I get back next time.