the fight with Asgore matches up with the story for him. In story, Toriel left and despises him for being cold-hearted enough to come up with a plan that involves murdering children, but so weak-willed that he'd rather string monsterkind along on it for untold time (implied to be generations since by the time of the game almost no one knows who Toriel even is) than get it done with quickly by himself (because he knows it's wrong but can't bring himself to call it off). Through it all, his plan is driving monsterkind to compromise its own values. It's obvious that no monsters of the current generation actually have any malicious intent towards humans, and they frequently have to look for excuses to justify hating or killing Frisk.
In the game, it's constantly reinforced that there's no need to ever kill anyone or even select the Fight command. Against bosses, you've had to go to progressively greater lengths to win without fighting that don't fit the rules of normal encounters, from using the Spare command incessantly to running away to managing a never-before-used Ratings value. The whole time as it's been building up to the fight with Asgore, it's reinforcing the belief that there will be something special you'll be able to do in the battle to win and maintain your pacifism, and Undyne and Sans actually tell Frisk that they're confident they'll find a way. When you finally begin the fight with Asgore, him destroying the Mercy button doesn't immediately send the signal he intends since you haven't beaten a boss with the Spare command since Papyrus. From the pre-fight scenes, it's obvious that he doesn't want to fight either, and some of the actions you can do in battle like Talking and eating Toriel's pie in front of him are clearly weakening his resolve. You might think that the solution is to let him wear you down and realize that he can't bring himself to kill a child himself, and when that doesn't work, he might give up if you have Frisk point out how many times he's killed them. The fact that none of that works despite his acknowledgement and you HAVE to use Fight for the first time in the entire game is potentially a source of great frustration for the player and a sign of how once again, he's committed to a course of action he knows is wrong, and his own unwillingness to admit that make it right is going to force the player to be willing to break their pacific run/force a child to be willing to kill someone, even when it's clear from the Mercy option after the fight that Frisk would rather spend the rest of their life in the Underground than kill someone. It eventually becomes clear from the way he acts and fights (easily losing his resolve, refusing to look Frisk in the eye) that destroying the Mercy button is more for his sake than yours, likely feeling that he doesn't deserve mercy. Just like in the backstory, Asgore is acting in a way that, while sympathetic and well-meaning in his own mind, is ultimately selfish and irresponsible and damaging to other people's right of self-determination (the player and Frisk's in this case).