Buck stops with Trump and he is not going to fire anyone unless he wants them gone.
Flynn is only gone because he lied to Pence which ended up putting egg on Pence's and Spicer's faces - if he had come clean, he would still be there.
I believe it was a pucker effect when the leaks first started and he didn't want to be a detriment to Trump so he tried to "protect" him by "inadvertently giving the wrong number of calls". It would have been manageable if he had told them everything from the first.