
I can list you a dozen examples of colonist populations being massacred in an outbreak of violence by a colonized group. It happens right now regularly in West Papua in fact, where militant groups kill Indonesian workers and shopkeepers, and the Indonesian government has responded with massacres and repression that could be considered genocide. That does not mean those Indonesian workers and shopkeepers deserved to die.
In 1622, the Powhatan launched an organized massacre attack against the English settlers in Virginia. This killed a quarter of the English population and killed men, women, and children indiscriminately in an effort to halt English colonial expansion and push them back to Jamestown. The English responded with a campaign of ethnic cleaning and retaliatory massacres across the Virginia peninsula (sound familiar?).
These anti-colonial massacres were almost always in response to previous violence by settlers or the seizing of land and property by settlers. They are a predictable result of settler colonialism and are frequently for sympathetic reasons. But that does not change the massacre of civilian people to be something moral. It’s always immoral, even if you understand why it happened.
As soon as we cross the line to say that massacring civilians is justified, that allows for the justification of just about every genocide and massacre there has been, because the perpetrators always believe they are on the right side. Hamas believes they are defending themselves, and so do the Israelis committing genocide in Gaza. Whoever is ultimately correct is irrelevant to those doing the massacres, because they will always believe they are on the right side.
So massacring of civilians has to be unacceptable no matter the circumstances. And sure you might claim that “settlers don’t count as civilians” but that’s exactly what Israel would say about the Palestinian children it murders, except with “terrorist sympathizer” instead. You can’t get around by trying to justify a massacre because that justification can always be used by a different actor in another direction.