I'd take the second model you had one step farther.
Your person table should just be facts about that person. The Id, name, address, etc. for a basic person table was right on. You may find that will be a little to small too once you look at multiple phone numbers or addresses, etc but that's another topic.
But pull out the other entity references into a fact table.
PersonDetails (PersonID, ReligionID, PoliticalID, etc.)
With your relationships in place, you'll be able to query exactly what you want. Until you run into multi-cultural people that is!

But that too is another discussion.
Hope this helps!