"Mexican" has a definite meaning. "Hispanic" doesn't.
In ancient Carthage, the word for rabbit was "span". The land across the sea had a lot of rabbits so they called it rabbit land, "Espania", also spelled "Hispania". The little dog used to hunt the rabbits was the Spaniel.
Somehow, all the people in the general area of Columbus's trip came to be called Hispanic, and also all the people in Mexico, and also all the people anywhere who spoke Spanish, and also anybody with the unique brown skin of Mexican people, or a Mexican name. "Latin American" is a little more specific, meaning everything from the Texas border to Tierra Del Fuego. "Latina" refers to females of Latin America plus all of Spain and Portugal.
Americans are incredibly sloppy when talking about the rest of the world.