For context, remember the Tie Domi incident in Philadelphia. Domi had debris thrown on him, and he responded by squirting water. This led to a fan going through the plexiglass into the box, which led to a physical confrontation with Domi. Domi even punched him. Domi got fined $1000, no suspension.
You can't directly compare situations like this to things that can happen in public, because the league has set its own rules over and above the law. Posposil is not breaking the law by going after the fan in this scenario, he is breaking a blanket ban on confrontation with fans, which is a rule of the league. Domi "got away with it" because his version of attacking the fan was a grey area (is squirting water the same as throwing a punch or an object?). The stuff in the box was straight self-defence.
I disagree that the suspension needed to be any longer than this, though. You have to consider the human element to the incident. Players are not robots; especially not as teenagers. This length of suspension accomplishes the goal of suspensions; it will affect his decision-making going forward and make everyone safer.