what would apps do for older versions of android ?
Not this, since it is useless on all versions of Android, as the blog post indicates.
since it's not deterministic, it means that decryption can't re-create the same key , so does it mean that the key is also stored in order to use it for decryption (and also later encryption) ? wouldn't such a thing miss the whole point ?
Precisely. Quoting the blog post: "Note that the security of this approach relies on safeguarding the generated key, which is is predicated on the security of the internal storage. Leaving the target file unencrypted (but set to MODE_PRIVATE) would provide similar security."
To be honest, I have no idea why the blog post was written the way it was. The only form of encryption that has significant value is where the user provides a passphrase (or advanced forms of that, such as two-factor authentication).
what does it mean? that the whole key generation is not needed, as android already encrypt everything?
No, it means that anyone who can get to the encrypted file can also get to the encryption key, making the encryption largely pointless.
Note that Android will "already encrypt everything" on those devices where the user has turned on full-disk encryption.