Because there was NO CRIME. In order for their to be a crime, classified emails would have had to have fallen into the wrong hands, and there is NO EVIDENCE THAT ANY SUCH THING EVER HAPPENED. In order for Clinton to be charged, there had to be evidence that she gave or allowed access to classified material by those without security clearance, and there is no evidence that any such thing happened.
Hillary wasn't charged because she COMMITTED NO CRIMES.
The original wording was such that it fit the definition of the crime in question.
But before the final release, the wording was changed, to put her actions out side of that definition.
This is not a minor change. It was as clear cut as changing a finding from "Yes" to "No".
This has all be discussed in public for months. Have you been in a coma?
The agent that made the change was corrupted by politics. Those that let the change past, are also guilty.