I'm really confused,
1-Why NSX Controllers Host Names (in each their consoles) are the same (their name is "nsx-controller")? (when you run Show Hostname in each controller)
2-Why NSX Controller "Host Name" and "Controller Name" (in this path: Networking & Security > Installation and Upgrade > Management > NSX Controller Nodes > Actions > Change Controller Name) are not same? (Shouldn't the two be equal?)
3- Which name must be added in DNS server? (Host Name or Controller Name)
The name that you can put to the controller is descriptive and "for you" lets say.
The control plane does not use dns resolution, all configuration files and connectivity to the controllers is used with the IP address directly.
You can create the DNS record, but it is only for you the solution doesn't require it. (There's no benefit doing so)
Hope that helps