Sorry, that seemed to work here, but, looking again, I didn't look at all the possibilities.
Unfortunately, I can't see how to do this as an ampersand separated list like the authors. Best I can do is as a comma separated list. Then each name is shown in the tag browser as separate entries under the column.
The following should to work:
Code:
program:
people = list_union(raw_list('#artist',','), raw_list('#pencil',','), ',');
people = list_union(people, raw_list('#ink',','), ',');
people = list_union(people, raw_list('#color',','), ',');
people = list_union(people, raw_list('#letter',','), ',');
people = list_union(people, raw_list('#cover',','), ',');
The column has to be defined as mentioned above.
To get the result treated as names, it would require a change in calibre.