So the question is why didn’t the Steelers go and get a free agent safety ?
Well technically they did. Edmunds was, in fact, a free agent. Because he wasn't worth the fifth year on his rookie contract.
You can't compare the salaries of guys on rookie contracts with guys who are free agents by comparing the salaries of two guys who were free agents.
The fact that Edmunds was a free agent and couldn't get a deal worth more than the $2.6 million for one year that the Stillers gave him tells you what a mediocre free agent safety is worth on the free market.