Hm that's true, but the alternative would also be flawed, and possibly worse. If you could only take the SAT once and you were stuck with that score, then people would complain that rich kids could take all sorts of prep courses to get ready and to figure out what they needed to work on before taking the test, whereas poor kids would be figuring this all out on test day. There is no ideal way to do this, and the current system may be better than anything else.
Also, in a decent number of states, it's mandatory for all HS students to take (and I believe free to students as a result).