However, if the user has setup synchronous_standby_names for all the subscriptions then we won't be able to proceed because the prepare on publisher will wait for all the subscriptions to ack and the subscriptions are waiting for the first prepare to finish.
But is it a valid use case to have two synchronous standbys which are two subscriptions that are on the same server both with 2pc enabled?
If the purpose of synchronous standby is for durability to prevent data loss, then why split your tables across 2 subscriptions which are on the same server?
Maybe it could be documented warning users from having such a setup. Do we really want to create a solution for an impractical scenario?