Because of how MVCC is implemented in Postgres. However, it's not terribly hard to add efficient count tracking that works with this implementation of MVCC, using row triggers. I use it often in production.
This might change in the future with the zHeap storage backend.
This might change in the future with the zHeap storage backend.