It's great that you're thinking about the unethical side of overseas volunteering, Yanqin!
I think firstly, we need to ask ourselves what skills do we have to contribute during the volunteer trip, that is in-demand in the host village/country and when carried out, will positively impact the community we are trying to help. Why should we spend $7-800 to fly down to build a well, when the locals can do it 10x faster? Instead of teaching the students English, why not plan some sort of curriculum for the teachers, or maybe even partner with a local university to come up with a long-lasting education plan? Keywords here are continuity, longevity & efficient allocation of resources (so that both sides benefit!)
Hope this helped