The reason is that the price of cycles is pegged to XDR but the price of ICP is determined on the open market. So, in order to determine how many cycles you should get per ICP, the cyles minting canister must know the current ICP/XDR exchange rate.
Let me further provide an update: I announced a change back in September in this thread, which is now live, i.e., the ICP/XDR rate is no longer maintained in the NNS registry. Instead, it is stored in the cycles minting canister itself.