As a thought experiment, think what would happen if Mexico made drugs legal. Their government would had to fight against the cartels, and might at some point win.
What you have then is a system where Mexico has much less criminality. They can't export to the US directly of course, but people will just buy drugs legally in the Mexican north and try to smuggle it the the US. The US can decide for themselves if they want to legalize it or not, and if they don't the US criminality is still there, but the Mexican criminality is gone.
Well what would likely happen then is another 1989 Panama. One of the main reasons why the US invaded Panama was its involvement in drug trade. So the US would criticize Mexico publicly, and at some point probably invade it.
It looks to me like current time Mexico is stuck between a rock and a hard place. They must be opposed to drugs because their powerful northern neighbor wants them to, but outside market pressure, from the very same neighbor at the same time destabilizes it.
So it's an issue that should be solved by an outside party - the US. But that party won't tackle the issue because Mexican people can't vote in the US.
Sounds like bad US colonialism to me :-(