LOS from the walls for crossbows and gunpowder units is fucked so only a few guys will shoot, archers will fire indirect shot and crossbows too maybe, but you lose most of the unit power and accuracy. If you go out of the gates and attack the unit pushing the ram the AI will maybe pick it up again after 20 minutes of being shot at doing nothing. Blobbing through the gates with everything including archers in case they get breached by rams, resulting in everyone just massing there ignoring towers and ladders, and dying to boiling oil. On the contrary, if the gates are not breached and only one tower is touching the walls, the AI will probably try to order every single unit to use it to scale the walls, which makes EVERY SOLDIER IN THE ENEMY ARMY freeze on the spot for all battle, just standing there waiting to get killed and not even fighting back.
If you want brutal and drawn out fights in the older engines there's RTW which didn't have all of these problems, otherwise honestly R2/attila are good, 3k sieges are also ok, can't comment much on them as I had no fights on the walls due to siege weapons and early infantry killing power is quite low so fights on the streets tended to be drawn out affairs, but I had no technical issues.