Most of the answers to date are validating your rules.
Right up front, I share in that validation. The choices you have made are well within the norms I have enforced as a GM and experienced as a player. Aside from norms, you also have a very strong, possibly absolute right to enforce these sorts of boundaries.
Leaving that aside, let me offer some concrete advice for how to keep yourself from going too far, and making the rules enforcement go down easier.
1. Set The Rules Up Front
As best you are able, decide what rules you want to enforce, and make a list before the game begins and before the character creation process starts. You will not be able to cover everything-- I would not have thought to ban double PCs, for example-- but you probably have some general guidelines in mind. Mine are similar to yours: I won't tolerate certain alignment/personality issues, I keep a tight rein on class/race for mechanical reasons, and I closely vet all outside materials.
Knowing in advance roughly what your boundaries are is useful to avoid those rules creeping forward.
2. Make Those Rules Public
No one wants to put in a few hours of labor (often labor of love) on a new character and have the GM bleed red ink all over it. If you know what your rules are, tell your players in advance. They may be a bit surprised to be hit with a bunch of downer rules, but it also lets them constructively work around those rules and come up with viable characters the first time. It also prevents you from looking arbitrary and capricious, and will help your players monitor your rules-strictness over time.
3. When Possible, Justify Your Decisions
Justify may be too strong a word, but tell your players why your guidelines are what they are. Tell them what you are trying to avoid. Most players worth playing with will try to work something out.
But when you need to stand your ground, stand your ground.
4. Engage In Collective/Community Character Generation
Others have suggested this, but I make the suggestion for several specific reasons: First, you will show your players that you are not arbitrary, capricious, or playing favorites. The rules apply to everyone. If you are arbitrary and capricious, your players will probably call you out on it, helping you avoid the problem. Second, if everyone sees every objection as it happens, you save time-- once something is rejected for one, it's off the table for all. Finally, your players might see ways to fix things that you don't. Brainstorming is goof.
5. (If Applicable) Plan To Move From Strict To Lenient
I say "if applicable" because this might not be your intent. But if it is not, I urge you to consider it. I reason that it is better to be strict initially and lenient later, because that is a transition the players will enjoy. Everyone enjoys more freedom and latitude; almost no one enjoys having their latitude taken away in progress.
It also, in my experience, actually works because if you are initially strict, you can successfully instill the habits you desire in everyone, and get everyone used to your style and limits while you get used to theirs. That done, it's easier to convince yourself to lighten up.
And finally of course, if you make it a goal to move from more strict to less strict, you are yourself adopting a mindset that will help you avoid becoming an authoritarian monster.
(And if you make this your goal, then you should say that to your players.)