I think your idea to require a published reason for each flag is an excellent one. Even if it is just selecting from a small list of reasons. Actually there should only be a small list of acceptable reason to flag a post. Even better, each flag and user should be displayed in the comments along with the reason for the flag. Makes curating easier if I can see why a post I like has been flagged.
I love your additions to it bud, especially restricting to selections that fit the rules