A bit of an explaination (which you'll probably hate, sorry...). GPs and the NHS in general only has so much money to spend on drugs. Drugs cost a lot of money, especially newer drugs, which the examples mentioned in the artical are. These drugs are under a sort of patent that means that only the drug company that developed them can make and sell them, which means they can charge what they like. It has to work like this because it's very expensive to develop drugs and if you had an instant competition with the "generic " makers then nobody would bother to develop new drugs at all.
What happens is that formulary committees write up a list of the drugs that they feel are the best value for money, ie most likely to make the patient get better for the least ammount of money. It's a complicated balance between cost and benefit.
For example, Atorvastatin is still under patent from Pfizer, so you can only get Pfizer brand drugs, (Lipator), which cost a lot more than generic brand Simvastatin. But the drug tends to have less side effects than Simvastatin and so it can be given to patients who can't tollerate simvastatin. Ideally we'd give everybody the drugs with the least side effects possible, (and all type 2s glucose test strips if they wanted them...), but the Government would have to give the NHS a lot more money, and that is sooooooooo not going to happen.
Doctors can prescribe what they like, but have to stick to a budget, that's the problem.
Darned economics