A chart is an object, not a layout. You can have as many as you like (given space constraints) on any given layout.
The charts are doing exactly what you told them to do. Since all records under artist are sorted together, the summaries work. However, you have multiple instances of each medium, therefore, you get multiple pie slices.
To fix it, you can do a couple of things:
1) Use a self-joining relationship and summarize medium based on that.
2) Assemble a list of media in the current found set (probably using a ListOf summary field). Then, loop over it and use GetSummary ( ) to assemble a corresponding list of values to use for your data series.
But basically, you can't use the found set directly on a secondary sort. The summaries split based on the sort order.