From the Yeshiva.co webpage
The Malbim explains that the shoresh (root) of “eidah” is mo’ed (like
a holiday=mo'ed, has an appointed time and we get together by
respective families) or va’ad (=committee), which means a meeting at a
particular place, with particular people, for a particular purpose,
where the participants congregate according to their role. For
example, the judges, elders and leaders, who are the main figures in a
public meeting, are separate from the masses, to enable proper
discussion or questions (Shmot 35), or when meeting by family (Korban
Pesach, Shmot 12) or traveling by tribes (ibid, 17).
On the other hand, “kahal” is simply the crude mass gathering together of people, without delineating who in the group is where, like we find by the uprising against Moshe in the sins of the golden-calf (Shmot 32, 1)
and the water complaint in Mei Meriva (Bamidbar 20, 2). On the other
hand, our rabbis point out that in the first water-uprising (Shmot
16), they are called eida, because they came organized, led by the
elders, and not just gathering up altogether to yell. Accordingly, the
1st time, they were not punished nor severely admonished. It’s the
difference between “meeting” (eida) and “gathering” (kahal).
In Korach’s uprising, they are called eidah (Bamidbar 16), because even
though many came together, there was a hierarchy in their uprising
(Korach, Datan and Aviram were the clear leaders), and they had
meetings (“mo’ed”, not just yelling!) with Moshe. Similarly when both
terms are found together (e.g. Vayikra 4, 13), the eidah refers to the
Sanhedrin judges who met and made a mistake, and afterwards the masses
(kahal) acted upon their ruling.