>  Is matplotlib supposed to avoid picking a redundant colour?

no, it cannot know. it simply cycles through its own default color cycle