USB hard drive fails to mount on boot

I have 3 identical make/model external hard drives connected by USB, and /etc/fstab looks like this:

[...]
UUID=1b83f30d-cb05-460f-ba98-50912a639330   /mnt/disk1  ext4    auto,defaults,nofail    0   2
UUID=b2653db0-5233-4812-a5af-bf3a8944db80   /mnt/disk2  ext4    auto,defaults,nofail    0   2
UUID=c02d2990-61b6-432d-9b20-b95643607065   /mnt/disk3  ext4    auto,defaults,nofail    0   2
[...]

After reboot, df -h looks like this:

[...]
/dev/sdb1       3.6T  3.1T  313G  92% /mnt/disk1
/dev/sdd1       3.6T  3.0T  484G  87% /mnt/disk3
[...]

As you can see, disk 2 fails to mount after every single boot or reboot. Trying to mount it manually with sudo mount /mnt/disk2 results in mount: /mnt/disk2: /dev/sdc1 already mounted or mount point busy. BUT! If I then wait, 2-3 minutes after boot time, I can mount it just fine with the exact same command. So, the drive will mount eventually. What I’m trying to find out is

  1. Why is the disk unable to mount for the first several minutes after boot and
  2. How can I reliably ensure the disk mounts automatically? I don’t even care if the machine takes 2-3 longer to boot, as long as the disk is mounted eventually.