Should I just arbitrarily set rules?
No. This would be misjudgement right now. If I read your situation correctly, you are worried that the whole group solely depends on you and there are too few or even no people at all who want to help out. Adding further, there so-called leeches not contributing in a meaningful way but instead complaining all day about the same issue over and over again.
Let's think about who usually sets rules. Normally, it's someone who has the power to do so, in the business world managers, in politics, politicians and so on. These people are all leaders to some degree, they make the rules and they should also be held responsible if the rules didn't work out exactly like they should have. In your case, setting rules would mean that you accept and assume a leadership role - it also implies that somehow you "own" the group regardless of the real relationships because the one doing the rules also has the say (that's the common related thought). And this is not what you want to achieve.
The next time you gather you bring something along that's called "agreement". Instead of saying "These are the rules and you need to abide by them or leave", you bring an agreement and discuss about it. This way everyone has the chance to design the group. The obvious first agreement you bring along should be the following:
To ensure that this group is a lasting experience for all attending, meetings are organized by all participants in a rotating order.
If everyone agrees on the spot, the problem of encouraging leadership is solved. If not, you at least got everyone engaged to discuss about the groups future and you will get to see everyone's point of view - then it's up to you to find a satisfying compromise for everyone including yourself. Just enforcing something isn't the idea here, as it's an agreement everyone should agree with it at least partially. The moment this is not the case anymore, you have no agreement. Convey this so nobody confuses your suggestion of an agreement with a fixed rule.
After tackling this problem, the next one is to get everyone participating.
In order to expand our knowledge horizontally and vertically, every participant is required and encouraged to come up with a topic in a rotating order.
Personally, I don't see the problem with these people "leeching" other people's knowledge - actually, sometimes simply listening brings yourself further ahead than you could imagine. However, at some point even these people should have some questions and topics, they are interested in in particular, but if they have none, you can be sure that their technical interest is satisfied, yet they hang around to grab some extra points by knowing some people.
Agreeing that everyone should participate solves this problem. The good point here is that this agreement shouldn't be too worrisome for you, in the end everyone wants to expand their horizon of knowledge. If people disagree, ask why. You can be pretty sure that they feel not "smart" enough or are "shy", but this is just an excuse. You can only grow to some degree if you are challenged, and overcoming the not feeling smart part and being shy is part of such a group. This should round up those who simply sit there and do nothing.
After all, it's also very advisable to ask some participants specifically how they feel in this group. What their goal is, why they attend, why they do not have organizational tasks and so on. This can pinpoint current advantages and disadvantages so you can take them on more efficiently.