builders have an incentive to only build blocks that can pass any potential caps anyway
All right, next I am going to try explain to you why market prices are good. I think that is what you are missing.
Suppose you are a user and your transaction is not included. Today you could just raise the gas price. How much should you raise it to? You just check the base fee.
I remember how things were before EIP-1559. If you wanted to get your transaction included, you would have to have a good view of the mempool. Most users subscribed to a service like EthGasStation, which provided an API providing estimated gas prices. But due to MEV and private orderflow, predicting the upcoming block is much more difficult now, and you are proposing to increase this complexity.
If tx flow is disproportionately loading against a constraint, eg size, builders are able to reprice this internally, choosing transactions that pay higher priority fees to win this resource. However this scenario is invisible to the users. In order to know how much they have to pay to get their transaction included, they would have to process all pending tx flow (of which they can only see the public mempool), performing the NP-complete task of block building, to determine which of the multidimensional constraints they are in contention with. Only by simulating all orderflow is this possible. Only then, in this example, they might discover that while the base fee is 10 gwei, the priority fee for calldata is currently 200 gwei.
For another example, consider if instead of a separate blob gas price, blobs and transactions had one gas price. Depending on the price of regular gas, blobs might be entirely priced out of existence, or might outbid other resources. So you would propose a separate blob gas limit. The blob gas price would still not be able to go below the base fee. If you wanted to get a blob in quickly, you would have to know about all of the pending transactions that are currently trying to insert blobs. Many of these are private orderflow, so you would have to subscribe to some Titan Builder API to get a complete picture.
So by taking this shortcut, the core developers are offloading the burden of creating a multidimensional fee market onto builders. However, it is not only the sellers of blockspace that are affected. The purchasers also have to do this calculation. And though we have saved the core developers a few weeks of development time, we have granted a complete monopoly on transaction fees to Titan Builder. Every wallet would have to ask them what priority fee is needed for their particular transaction to be included quickly. We cannot expect each transaction to analyze the entire mempool along every dimension you might want to constrain.
This problem is not solved by additional blockspace. For any amount of blockspace there is a supply and a demand. The current intersection of these should be at a visible price. If only the seller can compute the price, they have a huge advantage over the buyer. Prices provide transparency to otherwise complex economic calculations.