Any executable you wish an account to be allowed to use as a shell should be listed in the /etc/shells file, /etc/shells only actually needs to contain the shells for interactive accounts, but to stop pwck(8) complaining you can add the others as well.
As Tony said, the shells in /etc/shells are a list of the interactive shells for user accounts. The ones you listed are simply invoked for special accounts.
Where I work, we use special scripts to manage superusers as their shell that invokes the korn shell. It will not break anything.