I think those three cannot be equated to Amir.
Ajmal and Hafeez are cheats, but there cheating didn't negatively impact the team. They won matches for their team with their chucking. Similarly, Afridi with his ball-tampering etc. didn't hurt his team; instead, he wanted to help. None of them accepted payments behind the back of the team.
In that sense, Amir didn't hurt his team either - he didn't underperform and only bowled a no-ball, but he did take a risk by deliberately conceded an extra run. We could have lost that match by 1 run.
In addition, Hafeez might be a tax-evader, but that's a personal issue - has nothing to do with cricket.