I was on the phone yesterday talking with some people we work with from Israel (very good AI, data engineers there) and we had to stop a couple of times as they all had to go get shelter because of rocket sirens. I think that when you are under direct attack - it is very hard to justify not trying to eliminate the people that are trying to kill you. If there is someone to blame here it is, imho, the Hamas people that do it from within civilian areas instead of away from it.
But, they know that if they hide behind civilians and Israel unintentionally hits some civilians everyone will be so upset at Israel instead without offering a proper solution, and if Israel does not try to protect its citizens, they are free to try and kill them without consequence. At the end of the day, Hamas is what is causing it. They leave Israel at a hard place, protect their people and look evil or let their people live under constant terror / death threat.
Let's remember that after Israel told people in Gaza to move south Hamas was the one that was blocking roads so people will stay in the north. Terror organizations doing terror things.