Sounds like a hardware problem, since it has affected normal behavior during early boot when only the firmware is active:
- NVRAM is pointing to the wrong boot volume; this sometimes gets corrupted hence command-option-p-r at boot time to "zap pram". Clearing it fixes corruption, but doesn't necessarily fix booting, the correct entries need to be put back into NVRAM.
- Boot volume corruption, or device hardware issue. If even one sector is returning spurious information you can get the behavior you're reporting. There's literally dozens of causes. Maybe the best and easiest way to fix this is if you can still boot macOS, even over the internet with internet recovery, and at the menu of options, go to the Utilities menu and run Terminal. There you can issue:
Find your primary drive in that long list of devices (probably by size).
For me when I boot off internet recovery it's disk11. Also you want the actual drive itself, not one of the logical devices. e.g. for me /dev/disk11 has a core storage partition, disk11s2, and that becomes virtual device disk12 which is where macOS and all my stuff is. I run the command on disk11, the one that has the ~200MB EFI partition, not disk12.
diskutil repairdisk diskX
That repairs the GPT, and all found volumes, it'll run fsck on the EFI system partition, core storage structures, HFS+ and JHFS+, all in one whack. The alternative is you have to check these things with separate tools like gdisk, fsck.vfat, fsck.hfsplus, individually.
Also while you're in Fedora with live boot:
dnf install smartmontools
smartctl -x /dev/sda
That'll give a complete listing for drive SMART data, it might reveal if there are problems with the drive. So attach those results as a file, or you can dump it into fpaste and post the URL.
smartctl -x /dev/sdX | fpaste