Hello @Calvin Teater
This can happen in scenarios where the Public IP quota has been exhausted for that particular region.
You can check the Public IP address availability for your subscription under Subscriptions -> Usage+Quota.
Filter out for the specific region where you are deploying your VM and also select the Microsoft.Network resource provider. You can then check the usage for your Public Ips there. You can request for a quota increase depending upon your subscription type. Please refer to the below document.
Azure subscription limits and quotas - Azure Resource Manager | Microsoft Learn
You can also associate a public IP address to a virtual machine post creation of the VM. You can associate those public IP addresses to a VM which exist in the same region as that of the VM. If any of the IPs are grayed out it is because they are already associated to a different resource. You can then try to dissociate it from another resource that you are currently not using and associate it with the resource that you want to use. Please refer to the below document to add and remove public IP addresses from VM.
Associate a public IP address to a virtual machine | Microsoft Learn
Dissociate a public IP address from an Azure VM | Microsoft Learn
Hope this helps.
Please 'Accept as answer' if the provided information is helpful to help others in the community looking for help on similar topics.