The biggest advocates for non-violence are white cis heterosexual men. It is the failure to recognize the multifaceted nature of violence itself. Punching a Nazi can mean that other Nazis stop looking up to them, and they stop being able to effectively organize.
You should be selective and strategic with who you punch. Typically you will want to go for leadership, or the guy who offers a connection between two groups that you consider a risk.
That being said, you should also consider that you probably aren't going to have as much success punching a Nazi on their terms. A lot of them are into their gym and guns so it tends to be to your advantage to catch them alone when you are in a group. Sometimes the opportunity will come after one of their demonstrations when they are walking to their car. Other times, it can be useful to find where they live and work.
Punching Nazis isn't an everyday thing but its unrealistic to claim it isn't sometimes necessary. It works very effectively as part of a bigger picture. Alongside it, you can put stickers on their doors in the middle of the night. If the circumstances arise, you can do silly stuff like convincing one that another fascist is sleeping with his equally shitty wife.
Its also sadly maintained by transphobic weirdos