A law being a law doesn't mean it's right.
A presidential pardon solves Snowdens issue, but does not change the law.
Justice is for the courts to decide, not the prosecutor. But whether enforcing a law serves to uphold the public order is up to the prosecutor. And enforcing bullshit laws is just as problematic as being inconsistent in what laws you do enforce.
It's not up to the prosecutor to determine whether or not a law is just or not. That is not his job, that is a job for the judge/jury.