I think that is not the problem with just the IAF but all over the world. Think about it, beyond 40 years of age, your fighter pilot job is limited anyway, because by that time you are no longer the same physically fit man as you were in your 20s. Most professional athletes will retire around 37-42 year of age, it is a natural phenomena and no matter how good you are, you will naturally lose the edge. Plus, by the time you are 40, you are well into your career, and hopefully moving upwards towards administration job or desk job. A newly OCU jockey puts way more hours in his fighter than say an Air Commodore.....as you move up the ranks you lose that by seat of pant's type flying. So unless you surely want to see yourself in a two or three star rank, you will want to move to a more financially stable future (you know, you have probably 2 kids by now who are growing up fast so you think in a more conservative terms)
Many former RAF pilots fly for BA, so do USAF and USMC pilots for US airlines. Same with PAF......Shaheen air is literally PAF pilots flying club.
And no amount of perks are going to keep one from switching. A government job anywhere in the world cannot compete with private sector one. One is there to serve the nation and other to maximize profits. A retired captain in PIA has made and saved way more than an Air Chief.
A good friend's dad was the batchmate of ACM Kaleem Sadat. Of the two gentleman, one flew for the PAF his entire life and rose to become the ACM, while the other quit in 3 years, flew for PIA for 35 years, and retired as the Captain on the 777 with 6000 hours. The latter was and is more financially sound than the ACM, even though the ACM had more social clout.
What attracts people toward fighter flying is, then, not the paycheck, but rather the experience and the pleasure of doing something that 99% of us would never do. Flying FL550 at Mach2.0 is something really you can't put a price on.