I had the same issue today, and sadly I also had to setstage 9000 to finish the quest. I have however, narrowed down what the problem might be. All the 1000s objectives that OP was missing are set by a script on a hidden CWAttackCity quest, which, from what I observed, failed to start. Starting it manually did not work, which usually means some of the aliases needed for the quest were not properly set up (for example, some might have been disabled, while the quest needed them to be enabled). I haven't gone through every single one of them (and there's quite a lot of them), neither have I figured out what exactly starts that quest (I suppose it's a sendevent thing). I might post here more if I find out what might be causing it.
EDIT 1: My hypotesis was correct! I made A Very Silly Patch that made all the aliases on CWAttackCity quest optional (a lot of them were optional already). Upon loading a save from before Galmar's speech, I was able to continue the quest! Now I will load that patch again, and I will try to undo my changes, one by one. I will mark my progress here.
Edit2: First progress. In my setup, CityFieldCOImp seems to be bugged. Leaving him not optional fails to start the quest. in three hours I'm going on holidays, so I doubt I'll be able to figure the culrpit before
Edit3: Hm.... The actor that would be chosen is being edited both by Usleep and (in my case) by patchus maximus, but neither of these edits do anything important; their edits do not do anything harmful. So the field general must be somehow being edited on the fly by some other mod. I'll keep looking into it, but that might be difficult to pinpoint. What is weirder is that this guy can be dead, disabled or reserved. So... perhaps he's not there? He is being chosen by conditions.
Edit4: Okay, for some utterly bizarre reason, Legate Quentin Cipius, or whatever his name was, was a) disabled (which isn't a big deal), and b) was in Valtheim towers. Not in Whiterun, which means his location did not match the one in conditions. So, a new enigma arises - what on earth was he doing there?
Edit5: None of my mods make permanent edits to that guy's reference, gotta see if somehing's moved into valtheim towers
I came across the same issue a few days ago. I checked and sure enough Legate Quentin Cipius seems to be the problem. In my case he was disabled and lost somewhere between Whiterun and Rorikstead. This is usually where the Whiterun Imperial camp spawns. Since I play with only a handful mods and all mods that affect the civil war questline were disabled prior to starting the quest, this might very well be a bug that's not caused by mods. My guess is that after the quest "Message to Whiterun" the game fails to properly move Cipius to Whiterun and just disables him when the imperial camp is removed.
As for a fix, the problem seems to be that if Cipius isn't present at the siege, the quest will get stuck at "lower the drawbridge" and never advances to "force Jarl Balgruuf to surrender". So enabling him and forcing him to Whiterun seems to solve the problem. Using the console "prid BF560" "enable" and "prid BF560" "moveto player" you can enable cipius and move him to your location. As long as you have already started your assault on Whiterun, this will allow the quest to advance.
Edited by Ilinoy, 29 August 2021 - 09:39 AM.