Originally, গণ is a Sanskrit word meaning ‘group/class’ of things or people. In Bengali it appears only in compounds. As the first member of a compound, it means ‘people’ mostly in political contexts, as in গণপ্রজাতন্ত্রী বাংলাদেশ ‘People’s republic of Bangladesh’, গণতন্ত্র ‘Democacry’ (i.e. rule of people), etc.
As the second member of a compound, as you have mentioned, it is a formal equivalent of the human plural ending -রা। Traditionally it was very common in literary Bengali, but limited to being added to high register words, which are mostly Sanskrit anyway. So, you cannot say *ছেলেগণ, but you can say পুত্রগণ। However, -গণ is not limited to Sanskrit words alone. I perceive মেম্বারগণ (<English, ‘members’), ওয়ারিসগণ (<Arabic, ‘heirs’), etc. as perfectly good. In contemporary Bengali, I have a feeling that these -গণ plurals are losing ground with the probable exception of legal and political discourses. So, বন্ধুগণ! ‘(dear) friends!’ remains a popular way for politicians to address their audience. One -গণ plural that has found a place in slangy (Calcutta?) Bengali is জনগণ, which in non-slang refers to the ‘masses’ in political discourses, but may be used to refer to a circle of friends, family, etc. in the slang.
-গণ is not the only alternative formal plural in Bengali, by the way. Another relatively common human one is -বৃন্দ। For inanimates, there is -রাজি (বৃক্ষরাজি ‘trees’), -দাম (কেশদাম ‘bunches of hair’, শৈবালদাম ‘bunches of algae’), etc. The inanimate ones are pretty rare, and often very specific, i.e. each one is used only with specific nouns.