I've watched the video several more times around the time of the "punch". (Specifically,
this video starting at 2:50.)
Starting at around 2:50, it looks like the group is maybe taunting and jeering at NM a bit. Madison and another woman (Rhyley?) appear to be interacting directly with NM, both gesturing with their hands maybe a few inches away from his chest and face area (Madison is doing some pointing, the woman who might be Rhyley has her phone in her hand). At 3:03, I think it looks like Madison touches NM's chest. This doesn't look like a shove or anything, but it does look like she makes physical contact, and the general atmosphere must be very tense.
Now some speculation: I could very easily see a person in NM's position react to hands gesturing, sometimes near their face, and being touched (even lightly) by someone angry with them by putting a hand up and trying to push someone's hands off of you or away from you, or entirely trying to shove them away. I think NM probably did move to make contact with Madison, and either he succeeded and knocked off her sunglasses, or she moved to avoid him which knocked off her sunglasses. From the footage, I highly highly doubt that NM landed any "punch" as a typical person would define it. I also think it's not surprising (or necessarily lying) for a person who was "whacked" in the head to say they've been punched, or for their friends to identify that as what they saw.
Back to description not speculation: after the contact at 3:03, the camera moves quickly side to side and you can see some of Isaac's group (Alex and I think Landon in the Cancun hat) laughing, but then Owen stepping towards the action with his arms in front of him, and it looks like Ryan might have been the one to push NM into the water that first time. NM is falling into the water by 3:07, so the alleged punch must have occured between 3:03 and 3:07. While in the water, a man with dark shorts (grey at top, fade to black at the bottom) steps from NM's left side (closer to the camera) to his right (farther from the camera) and swings at his face. I think the man in dark shorts is probably Dante, but I can't tell for sure.
A man in yellow shorts (AJ) also shoves at NM as he attempts to get up, and at 3:12 NM is crouching and about to stand up and lifts his hand in front of him (the knife is in this hand but I can't see it in the video*) as AJ lunges toward him. NM's knife hits AJs abdomen as AJ shoves him back into the water. As NM falls backwards, his hand seems to move slightly up before withdrawing from AJ's torso. A man in jean cut off shorts (Anthony/Tony) starts to come between NM and AJ/the rest of his group and appears to be attempting to deescalate. At this point (3:19), you can see a woman (presumably Rhyley) has already been slashed on her side.