The empty addresses are just in the public mail archive that is exposed through the web. They were scrubbed away by the archiver software. The recipients of the original message got it with all that information intact.
Users do not get two copies because the mailing list software is smart enough to calculate a set difference between the expanded mailing list, and the set of addresses which are already in To: or Cc:
GNU Mailman makes this a configurable preference (per subscriber, I think!) The reason is that some people prefer to get the duplicates. A possible reason is that they want the official list copy, which is subject to some custom mail processing rules based on its list headers, or rewritten subject line.
By the way, some people also prefer to get only mailing list digests. For users who receive only digests, discussion participation is still possible because the discussion is based on the normal To/From/CC mechanism of e-mail.