The reason the situation has arisen is because Osborne was trying to stop high earners at the end of their working lives from paying into a pension scheme rather than salary. The pension contributions aren't taxed, whereas salary is taxed with some of it taxed at 40%. It's likely that the pension pays less than the salary, so less tax is paid. It's a way of deferring pay and paying less tax.
However, there was an unintended consequence. High earners such as hospital consultants couldn't defer their pay in this way, so they exceed the lifetime allowance they're allowed to put into a pension fund. When they draw their pension they pay a tax surcharge on the excess, which I think (not 100% sure) is 55%, which is higher than the highest tax level.
They're not actually losing money, but they do their sums and work out that their pensions will only increase by a relatively small amount and presumably weigh up their work/life balance and decide to take early retirement.
It was mentioned on Peston yesterday evening that the change will only affect about 15,000 people and will cost the Treasury £66,000 for each one (I think those were the figures quoted). I don't think it's a very efficient way of keeping a few doctors in work. They might very well decide that working in the NHS is too tough and take early retirement anyway.