The Iranian government has a richly-deserved reputation for lying, most notably about its nuclear program. One would, therefore, have expected it to bellow about fake news and continue to lie about the demise of the Ukrainian plane even in the face of all of the evidence. For domestic purposes, it might even have worked. After an inept initial coverup, however, the government came clean, at some cost to itself. Why?
The obvious reason is that the evidence was mounting, and that the world had already made up its mind. The less obvious reason is that, unlike other American presidents, Trump is already known around the world as a bellicose, capricious liar; that presents some opportunities for the Iranians, who desperately need diplomatic support from the Europeans, Russians, and Chinese. Could appearing more truthful and reasonable than the Americans help them in the long run?
Quite possibly, yes. Trump and Pompeo are already complaining about the lack of European support for America against Iran. If they push too hard, the split could boomerang into something much worse.