Why are mining pools not removing the 250 kb block size soft cap?
Some pools may still use the 250 KB cap for faster block propagation and reduced chance of orphaned blocks. If one block is orphaned you probably have to mine for 10 years to recover that loss with the extra transaction fees from mining larger blocks.

However I think many pools use a max size above 250 KB. The reason most of the blocks are smaller, even when there are more transactions available, is that they set a max size for how many KB of free or minimum-fee transactions they will include. There aren't enough above-minimum-fee transactions to fill up the blocks.