Is this just about preventing spammers?
Discourse already offers a number of features to prevent spam.
Or do you really only want users who are willing to articulate why the want to join?
If so, why not let them sign up, but include the request that they “Introduce themselves” in the automatic welcome message that goes out.
That could be in a special forum topic.
Personally, I would recommend stopping there and seeing how that works for you first.
But if you still feel the need to further enforce and automate things you could consider something like the following:
You could create a badge query to grant badges for members who do introduce themselves, and make it easier for you to find users who did not if need be.
You could also create a query to auto grant a “Lurker” badge for users who have been members for x days and didn’t introduce themselves. Then you could PM those users and remove their accounts if your site policy is really not to allow lurkers.