Those U.S citizens who buy the drugs are responsible. Most U.S officials who arnt taking bribes are trying to stop the flow of drugs.
One problem at a time... best not to justify one wrong by throwing in another wrong. He said, she said... Hard drugs grown in Mexico are also a problem. Guns made in the US are a problem too. US demand for drugs are another problem. Stupid inhumane bigoted racist Fox News driven border patrol agents are also a problem. These drugs are not only a problem in the US but also a problem when Mexico's cartels are becoming violent and fighting over turf. Mexico is finding out that is it not a sacred thing these drug "lords" but detrimental to their peaceful and proud society. Just as in the US we have many thousands of drug related deaths a year we also have terrible gun violence here too. People are shooting themselves with their own guns.
Each problem needs to be addressed on its own, not by confusing the issues than doing nothing about them... but by strictly adhering to a code of ethical and moral conduct. Gun regulations and strict background checks, social change and education, law enforcement that behaves with prudence and good judgment.
Not one issue will stop this problem but all issues need to be addressed in concert not with blame but with a collective effort by both countries.
No side is without blame... Immigration is also tied into this issue, FAIR trade and greedy US corporations using immigrants as cheap labor. China devaluing their currency... All of these issues have created this problem. Each issue has to be defeated irregardless of other issues. Politics and money are ruining the social bond between Mexico and the US and the world economies. Just as money and partisan politics have destroyed the republican party. All they have are dollar signs in their eyes, I swear they are more greedy than the cartels in Mexico.
Until the republicans get cash for votes out of their minds (Newt Gingrich syndrome sex for bobbles...) and yank the christian right out of their ass our government cannot function.