Hello Imran,
I double checked and noticed that you are right.
It is the same form that get's opened.
Yet, the difference is in the caller (menu item) that opens the form.
If you open the VendEditInvoice form from the Purchase Order directly it is opened by the PurchFormLetter_Invoice caller.
If on the other hand you open the VendEditInvoice form the invoice pool, the PurchFormLetter_ApproveJournal caller opens the invoice.
You probably need to double check with a developer on the way how AX reads the code and opens the form if called through the different ways.
It looks as if MS has simply overlooked the difference in opening the form from different places that causes you some trouble. Yet, I believe that with a minor code adjustment the issue can be fixed.
All the best,
Ludwig