Answer: The basic explanation of that is actually fairly simple. Columbus' name in English is actually an anglicized version of the Columbus birth name. According to most accounts, Columbus was born in Genoa, Italy, as Cristoforo Colombo, which is obviously much more similar to the English version than is the Spanish one.
In most of the major European languages, Columbus' name is similar to the Italian one: It's Christophe Colomb in French, Kristoffer Kolumbus in Swedish, Christoph Kolumbus in German and Christoffel Columbus in Dutch.
So perhaps the question that should be asked is how Cristoforo Colombo ended up as Cristóbal Colón in his adopted country of Spain. (Sometimes his first name in Spanish is rendered as Cristóval, which is pronounced the same.) Unfortunately, the answer to that appears to be lost in history. Most historical accounts indicate that Colombo changed his name to Colón when he moved to Spain and became a citizen. The reasons remain unclear, although he most likely did it to make himself sound more Spanish, just as as many European immigrants to the early United States often anglicized their last names or changed them entirely. In other languages of the Iberian Peninsula, his name has characteristics of both the Spanish and Italian versions: Cristóvão Colombo in Portuguese and Cristofor Colom in Catalan.
Incidentally, some historians have questioned the traditional accounts surrounding Columbus' Italian origins. Some even claim that Columbus was in reality a Portuguese Jew whose real name was Salvador Fernandes Zarco.
In any case, there's little question that Columbus' explorations were a key step in the spread of Spanish to what we now know as Latin America. The country of Colombia was named after him, as were the Costa Rican currency (the colón) and one of Panama's largest cities (Colón).
Comment from a reader: I just saw your article "How Did Colon Become Columbus?" It's an interesting read but I believe that it is somewhat in error. First Cristoforo Colombo is the "Italian" version of his name and since he is thought to have been Genoese it is likely that this would not have been his original name. The common Genoese rendering is Christoffa Corombo (or Corumbo). Regardless, though, I do not believe that there is any widely accepted historical evidence as to his birth name. The Spanish name Colón is widely attested. The Latin name Columbus is widely attested as well and was of his own choosing. But there is not undisputed evidence that either was an adaptation of his birth name. The word Columbus means dove in Latin and Christopher means Christ-bearer. Though it is plausible that he adopted these Latin names as back-translations of his original name it is equally plausible that he simply chose those names because he liked them and they were superficially similar to Cristobal Colon. I believe the names Corombo and Colombo were simply common names in Italy and these were assumed to have been the original versions of his name. But I don't know that anybody has found actual documentation of that.