first of all MASS_CHANGE_PURINFO_REC. (inforecords) and MEMASSPO cannot update price conditions.
I wonder why you do not want to send changed POs when you change the prices. The PO you had given to the vendor had a wrong price, so why not giving a changed PO with the correct price?
you have already 2 home made transaction to find info records and purchase orders and probably a working winshuttle for the update, where is the real delay in the process?
I guess it is actually the time from the request to use Winshuttle to the time when you actually get the approval. I don't know your internal policies, but as this happens every month it can only be a kind of formalism, so you could create this request already in advance to be sure the approval has arrived when your data prepared.
Similar it is probably with the request to your vendor to submit new prices, you can do this as well in advance, you can ask them on the 28, to give you the prices on the first working day of the next month.
Let an ABAP do a development that replaces all zur Z, Y and Winshuttle.
A ABAP can find all info records and POs, this does not need to be done manually. You can further upload the prepared file with the prices with the same ABAP and can then do a call transaction or BAPI to update your info records and POs that have been found earlier.