This seems correct as designed – when you reject a first post by a user, you are implicitly rejecting that user, too. This is really a question for @sam since he designed the feature.
I think the workflow you’re using is a bit wrong here. You should accept the post, then delete it or message the user to let them know “that post wasn’t spam, but it isn’t something we want, either”
I told @sam that copy on the page was wrong, the button should say “Delete Spam”, but it was never changed..