For an ALB - "You must specify subnets from at least two Availability Zones."
For an NLB - "You can specify subnets from one or more Availability Zones."
What is the reason for enforcing 2 AZs as a MUST requirement for ALB specifically and not for NLB?
The Network Load Balancer is designed to honor zonal isolation requirements, and thus is suitable for application architectures encapuslated in a single zone. Although, if the Availability Zone fails, there is the option to automatically fail-over to other healthy AZs.
In their guidelines AWS recommend customers configure the NLB targets in multiple AZs for high availability, but it is not a must.