I had a similar issue to this and I just got to fix mine right now. I don't know how much of a difference what you are doing is compared to mine, but my issue was in observed_hru.txt and SPE_extract_hru.def. I had 3 variables in observed_hru.txt (ET_11, DRP_11, and LAI_11) but in my SPE_extract_hru.def, in the lines that have something this "HRU number(s) for the first variable" I was using number 2 and similarly for the other variables. But what I didn't know was that SWAT-cup, reads ET_11 as "get ET as the variable name", then "get 11 as the HRU number". That means what should be in
SPE_extract_hru.defshould be 11 and not 2 or any other number different from what I used in observed_hru.txt. So when I changed those numbers, I didn't get that error anymore. I have attached an image of the error I was getting if you want to confirm.