Nip-39 is not really the same. It requires basically reusing the nip-05 login on a case by case basis, where the code could just iterate the array of aliases where it does the nip-05 now. It seems like more technical debt than needed. It also does not even include any reference for nip-05 ids
Discussion
And that is why you extend the proposal.
This is how you get all aliases using your method:
JSON.parse(e.content).nip05_aliases
And this is how it works with NIP-39:
e.tags.filter(t => t[0] === "i").map(t => t[1].split(":")).filter(t => t[0] === "nip05").map(t => t[1])
Both fit in one line, and the latter allows you to also support PGP keys and similar
Fair enough on this, but it still faces the fact that it does not achieve much of the intended goal do to the lack of general adoption for nip-39. So basically it just goes into a black hole.
Whether it be NIP-39 or your proposal does not matter, both currently do not have adoption for multiple NIP-05s and clients will have to do equivalent effort to implement either approach
I would see them adopting an enhancement to an existing nip they support before adding one they have dismissed so far, but yes adoption would still have to happen. It is just a much larger curve for the nip-39 and nip-05 is already basically what is needed, just a small addition to support the array.
Same could be said of nip-39, but I think you see my point.