How does BitPay detect unconfirmed transactions so quickly? I understand that BitPay accepts unconfirmed transactions.  My question is how they manage to find these so quickly?!

In my limited experience, even an unconfirmed transaction doesn't appear on my node for some time.
That is feature of Bitcoin node network.

When your client sends your transaction to network, every node is also sending your transaction to every other connected nodes. In about 5 seconds it is broadcasted in every place in world.