It is always me-hee-co ans me-hee-kahn-o in both european and latin american spanish (it is the spanish J sound that represents a fricative that is produced further back in the mouth. Depending on the Spanish dialect, the sound could be a voiceless velar fricative [x] , a throatier voiceless uvular fricative [χ], common in Spain, or a softer [h], in the Caribbean). I don't know why the voice says meks-ee-kahn-o.
I looked it up, and from what I've seen, Mexicans pronounce it "Meh-hee-kah-no" because when Europeans first arrived, the natives of the area had no sound for "x," and so pronounced it like the American "h." I'm not 100% sure, though if it's true, it could make for a great anecdote.
It's more complicated than that. The Catholic missionaries, who made the first efforts to render native languages into Latin script, assigned to "x" the sound "sh." (This continues to be the case with Portuguese, BTW.) For example, the name that the Aztecs gave themselves, which sounded like Meshika, was set down by the good fathers as "Mexica." Over time, this "x" tended to start sounding like Spanish "j"--but not in every case. For one thing, the community of Xochimilco, now part of Mexico City, is still pronounced like "Shoshimilko."
according to spanish, mexico is actually spelled mejico and pronounced meh-hee-co (in spanish j is pronounced as h) but english and english speaking countries write it and pronounce it as mexico. But mejico is considered old now even in spain and spanish speaking countries. So it is now known as mexico now
In Spain it is spelled "mejicano," with a very harsh "kh" sound. In Mexico it is "mexicano" with a soft "h" sound. At the beginning of the xvi century, the letter "x" was pronounced "sh" in Castilian Spanish. The original Aztec pronounciation of the country's name was actually "Méshiko," which is partially remembered in the archaic spelling used in Mexico.
The spoken stress accent is on the e in méxico, but the normal rules of pronunciation would put the stress accent on the i, so it must be marked on the e to show it is not following the usual pattern.
In mexicano, the -ano ending causes the stress accent to shift to the a of -ano and away from the e in the root word (there is actually a secondary stress accent on the e, but that doesn't get marked). So now the stress accent is following the normal pattern in mexicano and does not need to be marked.
It's a little more complicated than that. The proper name of a country is, indeed, capitalized. If you are talking about the country of México, it should be capitalized. However, when using the name of the country to form an adjective (as in the exercise we are commenting on) it is now an adjective and not the proper name of the country, so it is no longer capitalized. This also applies to languages and nationalities (since those are also adjectives). Perhaps the better question is why we capitalize adjectives in English when they come from proper nouns, since they are not proper nouns when we use them as adjectives.