why doesn't futures contract just stipulate a specific contract to be delivered. Is it because the futures seller cannot readily buy specific bond contracts?
Sometimes there is not much liquidity in a particular bond issue and it could become scarce and shoot up in price vis a vis others. Then there would be accusations that someone is manipulating the price to benefit long futures holders. The exchange wanted to make sure that if this happens people can deliver other issues with similar maturity, subject to an appropriately calculated Conversion Factor.
(It is part of the design requirement for any Futures contract (not just bonds) that the delivery procedure is not affected by unusual situations or attempted manipulation).