If this is the only thing you're planning on doing with Ansible, I would go for a single playbook. In my repository, I have roles for enter_maintenance_mode and exit_maintenance_mode, since that function is used in multiple contexts.
In my environment rather than performing a SSH to ESXi and run esxcli command, which either you need to enable shell each time, or have that turned on permanently, which leaves a security risk,. I'd rather use PowerCLI. PS7 on Linux or Mac works fine with PowerCLI. I keep that to apply Host Profiles and other functions where there are no native vmware modules.
I have a PowerShell / PowerCLI delegate host dedicated for tasks which do not have native modules, and delegate those tasks to the delegate host.