I disagree with the part about that pharmaceuticals shouldn't charge high prices to help the good society. Sure, it would be nice that they charge less, but like any other business, at the end of the day, it is to make money. Pharmaceuticals are technology based, where a lot of money is put into R&D, clinical trials taking up to several years before it ever hits the market. The patent to make the drug is only good for a decade or so before it becomes generic and other companies could produce them. If they do not charge high prices to recuperate the costs in development, this would no longer be a profitable business, then who would do it? Would you rather those drugs don't exist at all so all are equal, or that they exist but cost a lot?
I think many people have trouble separating the difference between business and charity. If you really want to be charitable, why don't you buy drugs or foot part of the bill for someone who can't afford it, someone's got to foot the bill.