I have the exact same problem but on an AsRock z370 Motherboard while plugged into the BIOS_PH1 header
My programmer was reading it in a really sketchy way (some stuff at the start then mostly Fs), then it did write a new BIOS image but would return an error during confirmation.
Other times my programmer would simply get stuck “erasing” the BIOS chip forever in a loop.
I am using a high-quality programmer called XGecu TL866II Plus. So it is not the programmer’s fault.
It autodetected the BIOS chip correctly so it is not that either.
When it detected the BIOS chip by ID it does show multiple chips with the same ID.
Some are
“SOIC8”
“SOIC8 + OTP”
“WSON8”
“WSON8 + OTP”
I am not sure if this “OTP” variable is the problem.