At the end of the novel, Slim and George are left together. Slim utters a very simple phrase, "you hadda." We can interpret this to mean that Slim said that George had to do this. Slim understood that if George had not killed Lennie, Curley was going to. Curley would have made Lennie suffer, his rage over his wife's death was very strong, and legitimately so.
Slim's words were almost unspoken, but the gesture of understanding was something George desperately needed after killing his best friend out of compassion. Few people have the power to do such a thing, and Slim recognized this in George and gave him credit for it by just being there.
I agree with the first editor that it had to be Slim. George and Slim had developed a pretty good relationship early on. Slim had found Lenny to be a pretty good easy going guy. George had confided in Slim the incident about Lenny grabbing he girl's dress at the last place and the girl panicking. He told how he had always had to watch out for Lennie and sometimes he had even been mean to him. Slim probably had heard more about the truth of George's experiences caring for Lenny than anyone in the past.
When George kills Lenny he has a despondent look on his face probably because Slim suggests they get a drink. Slim is reaching out to help George not being part of the committee cheering that Lenny is dead. Instead he shows empathy to Georg.
George killed Lennie because he wanted to put him out of his misery. He also did it because he knew that if Curley found Lennie when he figured out that Lennie killed his wife, he would have suffered worse consequences - maybe even a harsh death. George killed him with Lennie last looking at their dream of raising their own farm so that he could rest in peace with that last peaceful thought rather than suffering Curley's punishments.