Here is what I'm thinking.
Red Coat isn't Charles, Red Coat is the Ally who sent Charles that portrait.
Charles is either someone who hasn't appeared in this half season, or is Andrew who I said before I found suspicious how quickly they exonerated him compared to other Red Herrings who started a half season. Plus his explanation for what he was doing doesn't line up really.
I really feel like Wren would be the most satisfying solution, there are so many dangling plot threads with him, the thing about his involvement in getting Veronica removed from Ashley's defense, the police speculating on that one white board he's not a real doctor.
Charles certainly pushed Marion Cavanaugh off the roof and Bethany saw it.
Charles can't be someone we have seen existed before "That Night". He's not gonna be one of the boyfriends (Toby and Ezra and ruled out by the timeline anyway). And it'd be really cheap if he's someone we didn't meet till this half season. I feel like this character needs to have been around since Season 3 at least. So for people we have seen this half season, that really only leaves Andrew.
Red Coat is most likely CeCe.