That's a situation created by Congress, not federal agencies. Federal agencies with dire needs for high demand/high pay skills would love nothing more than to be able to hire full-time employees at market rates but it is very difficult for them to do so because of the federal pay scale and hiring guidelines.
It's part of the whole charade of smaller government. The number of actual government employees is reduced but then the government pays contracting companies 2x or 3x (or more) for contractors and ends up with same number of butts in seats.