The choice isn't giving $3000 to be a voluntourist, and give $3000 to a charity to hire locals to do the work. The other choice is to go to Europe and blow $3000 having a good time.
There is very little that is altruistic about the practice and an altruistic option is not an option for most people who go on these trips. I don't know what cut of the $3000 the school in the article got, but if it wasn't enough then I'm sure they wouldn't invite a load of useless white kids around to set their construction back.