See Create and configure custom user fields. Be sure to check off “Required at signup?” if you want the fields to be mandatory.
All good, that’s how Discourse works. There is no way to post, create a topic, like, etc without an account.
See Understanding groups and category permissions (security settings).