Picard actually spent time as a real villain
Kirk spent time as a villain in a mirror universe but he never really experience what it was like to not be the hero in the story. He was always the love interest, the man everyone cared about. But Picard, he experience what it was like to be the villain in his own story.
The thing about Kirk is that he constantly played the part of a tortured man who has struggled with his own personal darkness. But from what we had seen, that darkness as pretty much focused on his mirror self and things that happened to him in the field that would, eventually, go away.
For Picard, it was different. He went through everything that turned him into a villain for a brief period of time. He experienced himself as someone who was evil and had to rise above it and return to the Picard we knew and love. And it all made him stronger in the end.
So while Kirk continued to ‘struggle’ by seeing himself as evil, Picard actually had to live through it and try and fight his way back to his true self. So once more, Kirk falls short to the strong brilliance that is Captain Jean-Luc Picard.