Sometimes the reset button can be a bit tricky to keep held down, though if you tried it on four different chips then it's unlikely you had that problem every single time.
Are you power cycling by physically disconnecting and reconnecting the USB cable?
One last-ditch thing to try is to just erase the SPI flash directly; by that I mean take the caravel daughterboard off, then wire the header pins at the bottom (S1, S0, CS, SCK) to the header pins for GPIO 1, 2, 3, and 4, respectively; then you can write directly to the SPI flash through USB via the FTDI (some code rewriting necessary, although I think Jeff DiCorpo has a script for that somewhere) and send it the erase command.
But sudden failure after previous success makes me wonder if something completely different is going on like a cold solder joint or something. Unfortunately there are multiple ways to get the same error, since the error just means that no signal was read back from the housekeeping SDO pin; it could be a failure of the SDO pin, a failure of the housekeeping SPI, a failure of the entire chip, or a failure of the FTDI, the wiring between any of those components, or the power supplies to half of the board. All you really know is that everything was working up to the USB-facing side of the FTDI chip.