Can't say for sure in those cities, but I know on the main street of Cozumel, there was a "phone calling store." You tell them where you want to call and they set you up in a private room to talk as long as you want. Then when you're done, a computer keeps track of your time and you are billed at the end. I called Canada for about $10 for 10 minutes. I would think that any highly commercialized ports would have something similar.
Don't use the regular payphones at the dock in Curacao you don't even want to know how much my phone bill was for 10 min. They have a little place where I think you pay so much a min at the time I never thought it was going to be as expensive as it was so I just used the regular payphone. Cozumel i'd go to one of those places also the payphones are a total ripoff. No matter which port you go to i'd ask around about places where you can pay to use the phones don't use the payphones they are way to high. Enjoy your cruise.