Why do polyatomic ions have a charge ?
Their electrons make it so!
Polyatomic ions usually have a charge because the compound itself has either gained an extra electron (making the charge negative) or it has lost an electron (making the charge more positive).
The most common polyatomic ions have negative charges. This means the ion has more electrons than neutral atoms in the nucleus, making the whole compound have a negative charge.