Oh, STUPID ME!
OF COURSE this will happen!
Because you are joining to *BOTH* genres and actors!
So for *EACH* actor, you get the SAME GENRE. And for each genre you get the SAME ACTOR!
You just need the keyword DISTINCT in there.
And, by the by, you can easily change the separator from comma to anything you want. Read here:
GROUP_CONCAT( DISTINCT g.genre SEPARATOR ', ' ) AS genres,
GROUP_CONCAT( DISTINCT a.actor SEPARATOR ', ' ) AS actors