Can I take up the general worry, rather than the specific point about this particular Fitch proof?
You are right that standard natural deduction systems for classical logic allow you to have premisses or assumptions $P$ and $\neg P$ active at the same time. (As in the proof that is bugging you.)
For example, take the uncontentious Fitch proof from $\neg P$ to $\neg(P \land \neg Q)$, and the uncontentious proof from $\neg(P \land \neg Q)$ and $P$ to $Q$. We are allowed to paste them together to get an "explosive" proof from $\neg P$ and $P$ to $Q$.
You might well say that this is actually not very natural. For when we paste those proofs together we get to the point where we have $P$ and $\neg P$ in play together -- shouldn't we then say "Hold on! That's absurd! We need to stop and backtrack!!!" rather than continue? (Compare what we do with tableaux proofs -- when on a branch we hit a contradiction, we always close it off!)
The usual riposte is to say that "arguing past a contradiction" like this doesn't lead to invalid inferences, and in particular explosion is a correct inference, given the classical semantical account of entailment. (Suppose we say $A, B$ entails $C$ if there is no valuation which makes $A, B$ true and $C$ false. Then if there is no valuation which makes $A, B$ true, because they contradict each other, then $A, B$ entails any $C$.)
But some logicians put more weight on considerations of relevance in proof (and think that our semantics should fit our views about correct proofs rather than vice versa). They would say that the inference from $P$ and $\neg P$ to $Q$ commits a fallacy of irrelevance. There are various ways of developing this thought. But, in the present context you might be interested to know about Neil Tennant's Core Logic which -- precisely -- puts heavy constraints on when it is acceptable to "argue past a contradiction", and gives a system of logic [strictly two systems, one classical in flavour, one constructivist] which lacks explosion, but is arguably as strong as we need in ordinary mathematical reasoning. So we certainly can develop systems of deduction which deprecate arguing past a contradiction.
However, most logicians prefer to keep things simple, bite the bullet of occasional irrelevance, allow ourselves to argue from any combination of premisses/assumptions even if explicitly contradictory, and stick to standard natural deduction systems!