@Sir Osis of Liver thanks for your response too, you are very kind but I have more issues now.

Birthday date is a core field though.
That's what I thought, but apparently it's not included in registration, only in profile, and if you add it as custom field it wouldn't get picked up by calendar.
True, I am not able to add fields as dates, only numeric or text field/textbox which is a lot different from birthday on the profile page.
Secondly how can I add location field which is additional information to be required too?
Admin -> Core Features -> Advanced Profile Fields - enable it. Then you'll see Admin -> Features and Options -> Profile Fields.
I tried this and Location is checked but that is not enough to be required field. It is only additional information on registration and displayed to the profile pages.