As far as the ElGamal scheme, I have given it some thought. With all due respect to the paper that I provided that appears to select different private-public key pairs for each participant/entity, I believe another way to set up an encryption system for multiple participants using the same private key (if that's what you desire), is to use different generators of the primary field/group, $G_{q}$, that you select.
As a simple example, take the cyclic (multiplicative) group $\mathbb{Z}^{*}_{13} = \mathbb{Z}_{13} \setminus \{0\}$. The generators of this group are $g=2$, $g=6$, $g=7$ and $g=11$. That is, order$(2)=12$, order$(6)=12$, etc. To generate a public key, select a random $x$ from $\{0,...,11\}$. Then, for each generator, $g_{i}$, compute $h_{i} = g_{i}^x$. That is, $h_{1} = 2^{x}$, $h_{2} = 6^{x}$, etc. Clearly, no matter the value for $x$, each participant will have a different public key denoted by $(\mathbb{Z}^{*}_{13}, 13, g_{i}, h_{i})$.
Encryption works by participant $i$ choosing a random $y$ for every message from $\{0,...,11\}$, then calculating $c_{1} = g_{i}^y$. Participant $i$ also calculates the shared key (called the ephemeral key) by $s_{i} = h_{i}^{y}$. Finally, participant $i$ then converts the message $m$ into $m' \in \mathbb{Z}_{13}^*$, and calculates $c_{2} = m' \cdot s_{i}$. Participant $i$ then sends the cipher text $(c_{1},c_{2}) = (g_{i}^{y}, m' \cdot h_{i}^{y}) = (g_{i}^{y}, m' \cdot (g_{i}^{x})^{y})$.
Decryption of the cipher text $(c_{1},c_{2})$ works by calculating the shared secret $s_{i} = c_{1}^{x}$ using the same private key $x$, and then computing $m' = c_{2} \cdot s_{i}^{-1}$. The message $m'$ is then converted back to the plain text message, $m$.
The decryption step produces the intended message since
$c_{2} \cdot s_{i}^{-1} = m' \cdot h^{y} \cdot (g_{i}^{xy})^{-1} = m' \cdot g_{i}^{xy} \cdot g_{i}^{-xy} = m'$
For the scheme to be secure, the user will have to select $q > 2^{2000}$ (with current technology). Note, however, that if one participant's security is compromised, then all participants' securities are compromised. This is probably why it would pay to have a different pair of public-private keys for each participant.