You don't have to use different Availability Zones, but if you are not then you should use an Availability Set to ensure that the SQL VMs are not placed on the same Update or Fault Domains. It is documented in https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-manually-configure-prerequisites-tutorial-multi-subnet?view=azuresql#create-sql-server-vms:
Availability - Availability Zones For the highest level of redundancy, resiliency and availability deploy the VMs within separate Availability Zones. Availability Zones are unique physical locations within an Azure region. Each zone is made up of one or more datacenters with independent power, cooling, and networking. For Azure regions that do not support Availability Zones yet, use Availability Sets instead. Place all the VMs within the same Availability Set.