One private key can generate two different bitcoin addresses. That depends on the ECDSA logic and encoding schemes used. Probably you have heard about compressed and uncompressed keys. The details are deep under the hood, and requires some reading, e.g. Andreas book "Mastering Bitcoin" (2nd edition), which is online available. Chapter 4 and 5 are the relevant ones.
I am not sure, how bitpay creates his keys, but I have already imported privkeys into Electrum as well. As long as I was working with compressed keys in my source wallet, Electrum showed the same. However, this gets different, when you extract keys from bip39/44 wallets. From looking at their website, I think bitpay has only a function to extract an extended private key, that is for sure different from a "std private key". An extended private key is used in HD wallets, to generate a set of xpub keys, that can be used e.g. on websites, to avoid re-use of keys. And depending how the seed is implemented, wallets are not always compatible to each other. This might be the case, why you see different addresses. Electrum uses [m/44'/0'/a'] as xpriv path for derivation. But maybe there is a way, look for samuelt33's comment on 5 Aug 2017 on the webpage here.
On standard privkeys and pubkeys, there is a longer thread here: How are compressed PubKeys generated?