Are you running fly deploy when you get this error? Are you creating the volumes or letting fly deploy do that?
You can create an app and add [mounts] to your fly.toml and then fly deploy should create the volume (and Machine) for you on the right GPU host according to your primary_region and vm.size settings.
But if you’re creating the volumes separately, then you need to specify the region and vm_gpu_kind so that your volume gets created on a GPU host. For example: