Yes, it would be due to firewall.
1. Hostname is resolved
Each cluster machine can ping to others by their hostnames.
2. Firewall is open
You need to make Windows firewall open so that each machine can communicate. Suppose you're using MATLAB Job Scheduler not a third party scheduler, you need to add inbound rules to make open the following TCP port.
Assume you're using MATLAB Distributed Computing Server R2017a or R2017b and the cluster configurations are as follows,
nJ (number of schedulers): 1
nW (number of all workers in clusters): 64
You need to add inbound rules of Windows Firewall to allow TCP ports "27350-27613, 28350-28478"
Required TCP port numbers are different in MATLAB versions and configurations, so please see this answer.