Jon did not commit to murdering Daenerys when he came to the Throne room.
The first thing he did was lash out at her about killing innocent civilians and prisoners of war.
He had been a passive partner to Daenerys these last few episodes.
He lashed out in anger because he wanted Daenerys to see reason.
To snap her out of the cloud of smoke to see the rubble she had laid on ground.
The next thing he does is plead to her to see reason.
To give mercy to Tyrion and the rest.
Daenerys at this moment is now convinced that she knows what's right for the people.
The last thing he does is asks her plainly as to "what about the people who think they know what's best for them".
She replies that they don't have a choice.
After making every effort to redeem Daenerys in his eyes, he fails and decides to kill her.
He loves her still and proclaims her the queen, now and always.
Kisses her back, embrace her in his arms and stabs her in the heart.
movies.stackexchange.com/users/5315/KharoBangdo
Because there is a conflict between multiple of his honors here.
He vowed loyalty to Daenerys, and even after all that happened seems to still love her to some extent.
He is shown very often and very clearly not to break oaths, even risking the whole expedition North over this particular one.
He vowed to protect all people, the common folk.
Literally as part of his Night's Watch oath ("I am the shield that guards the realms of men"), but more significantly it's how he is raised and what he believes with all his heart, even to the point of getting killed over helping/protecting the free folk against the Night's Watch sentiment.
Tyrion reminds him very heavily of the second vow.
Basically Jon is now tormented, if he keeps his first oath he will most likely be breaking his second oath because Daenerys at that point seems like a cruel conqueror who will not stop bringing fire and death.
If he keeps his second Oath he must somehow stop Daenerys from doing that but there is not obvious way without breaking the first Oath.
In the end he chooses his second, more deep-rooted vow.
After that choice it doesn't matter of how the murder is performed, the act in itself is dishonorable for him, and you see he is tormented by it and very well prepared to die as a consequence.
movies.stackexchange.com/users/13407/KillianDS
Ultimately Jon had to betray someone - Dany or the people he was sworn to protect.
Dany was bent on making the world better through force, convinced of her own righteousness.
So for example, if Sansa had refused her it seems likely that she would have torched her, if not the whole of Winterfell.
The rest of the world gets the same treatment.
So Jon killed her.
He gave her every opportunity to change her mind.
The way he ended up doing it was simply to avoid a violent fight.
movies.stackexchange.com/users/65627/user
I don't think it's about honor, the way I saw it, Jon didn't want Dany to suffer, i.e. it was a "Mercy Kill".
Clearly, Daenerys wasn't herself any longer, and was consumed by grief and hatred.
When Jon realized he can't get her back, and the "old Dany" is suffering, he decided to end her pain.
He also knows that if he would let her know he's going to kill her, she can convince him to stop, and he won't be able to resist, still being in love with her.
All the above together should explain why Jon acted the way he did.
movies.stackexchange.com/users/106/Shadow Wizard is Ear For You
Love is the death of duty.
Jon and Tyrion discussed this quote from Maester Aemon.
For Jon, it meant that he had forsaken his duty (acting in the best interest of the Realm) because of his love for Dany.
Tyrion then adds that duty can be the death of love .
In order words, if Jon wants to do his duty, he must put his feeling of love aside.
Quite literally, Jon's rightful duty would be to kill the woman he loves, since she is an active threat that cannot be stopped.
Killing Dany was in the best interest of the Realm, and Jon has unwaiveringly acted in the best interest of the people he represents: the Starks, the Night's Watch (and thus also the realm of men), the North.
When Jon killed Dany, he put aside his personal feelings and acted in the best interest of the people he swore to defend.
Because Dany would have remained an active threat.
While Jon may not have understood Dany's statement, don't forget that in her victory speech, she specifically mention "liberating" Winterfell.
That puts Jon in a strong conflict.
The woman he loves threatens everything else he stands for, and he had to make a choice.
He chose duty over love.
Because he couldn't prevent Dany from waging eternal bloody war.
movies.stackexchange.com/users/22424/Flater
I understand that maybe he couldn't kill her another way...
I wouldn't discount this as part of the reason.
Once he'd decided he had to do it, which wasn't until well into the scene, he had to know that she was a hard person to kill.
She had Drogon, and she was canny.
If he'd given her advance notice of his intention, he might well have become a smoking outline on the ground, leaving the seven kingdoms doomed to suffer under The Mad Queen and her dragon.
A swift, unexpected stroke was his best — possibly only — chance of success.
movies.stackexchange.com/users/22662/T.J. Crowder
He didn't stab her in the back.
He did it discreetly, not in order to hide that he did it but too remove the weirdness if he just took a dagger and came running to her to get a kill - that would have been funny lol and last minutes of Danys would have been where he saw Jon came like a lunatic and kill her.
But this is very opinion based.
Even if it was 1 bit not honorable then he have been through enough to say "Fuck honor" and do something for the greater good.
movies.stackexchange.com/users/15590/Deepak Kamat
Jon Snow from  Game of Thrones  is a man of honor. When he killed the dragon queen in S08E06, he didn't even escape but told the truth. But then why did he kill her with a back stab? Not literally, but he kissed her and she didn't know that he has a weapon.  I understand that maybe he couldn't kill her another way, but that's not a very honorable anyway.
Why did Jon Snow do this immoral act if he is so honorable?
movies.stackexchange.com
<plot-explanation><game-of-thrones>
movies.stackexchange.com/questions/101043
movies.stackexchange.com/users/74308/Mitch
Jon chose to kill the woman he loved rather than betray his people. Stabbing Dany in the back could have been to make it more quick and painless. Jon chose to do his duty to his people and so he was forced to kill her. He was putting her out of her misery.
Jon had to kill the dragon queen as it was his duty to protect the people she was hurting. Jon killed her so she wouldn't suffer later.