Eratosthene's calculations did turn out to be quite accurate. This was mostly a matter of luck though. He in fact had two major errors, that just happened to cancel each other out. It is also a fact that nobody is sure how big his unit of distance was, and it is only now after the fact that we can take one of the possibilities and say he was only 2% off.
It is also not true that this was universally accepted. Posidonius, via Ptolemy had his own much smaller estimate, which was widely accepted up until around Columbus' day.
In point of fact there were quite a few competing estimates for the size of the earth and the size of the Eurasian land mass (not to mention that the best numbers and maps were likely kept by Portugal as State Secrets). Most people quite sensibly figured the truth was somewhere in the middle of the estimates. However, Christopher Columbus, always a master of self-delusion (can you tell I'm not a fan?), took Earth estimates on the small side and Eurasian estimates on the large side, some even more fanciful theories about the position of Japan and other eastern islands, and convinced himself that Japan was only about 3,000 miles east of the Canaries (in fact, the number is more like 12,000).
His results were not in fact accepted. He was laughed out of Portugal. The Spanish court's mathematicians argued (correctly) that the guy was way wrong, if not an out-and-out crackpot. However, Portugal had just rounded the tip of Africa, opening the way for a future control of the spice trade. This was so potentially lucrative, that the Spanish Monarchs felt forced to at least try Columbus' idea. You can tell how (un)likely they thought it was though, by the fact that they forced a newly conquered Moorish county of Spain to supply the ships.