Throwing in my thoughts here.
Buddy Failure - This feels like a classic "odd man out" scenario. My instructors always say that 3 people is the most difficult number to dive with. It is just hard to stay together. Your son and the DM were "20 yards" ahead of you! They aren't your buddies anymore! You are solo diving. All of the training will say "it is your responsibility to stay with your buddy, not visa versa", but that only works if you both agree on that. Clearly you couldn't rocket forward 20 yard, especially as you were clearly burning through your air already.
So basically you had no buddy anymore, and you had a decision to make.
My inclination in hind-sight here is that I'd "turn the dive" when I was at a point where I knew I'd surface with the reserve I had set before. If none had been set, I'd use 500psi, as that is what the training materials I have say to use as a normal reserve. So when I knew I'd need to surface, with a safety stop, "now" to end up with 500psi at the surface, I'd signal and do so.
As I said before though, with 20 yards distance, you are essentially solo diving, so I'd "just do it".
I'm not sure how to even signal to people 20 yards away. Possibly a good bang on my tank would alert them?
Then the DM should realize he's in a "missing buddy" situation and either come to you if he can see you, or do the "search for 1 minute then surface" routine. There he would hopefully see you were topside.
In a perfect scenario, he'd see you during your safety stop and could join you there and finish the safety stop together, assuming your air lasted.
What I see here is a collision of the "turn the dive any time you want" and "stay with your buddy". If your buddy isn't close enough to turn the dive, they turned you into a solo-diver, and you have to leave them to it. Hopefully they wake up and come to you as they should. If you couldn't see your buddy, the call would be the same, search for at most 1 minute and then surface, and assume your buddy would have done the same having lost sight of you.
Regarding, "in 10 feet of water": I'm assuming you didn't pump up your BCD "10 feet down" but that you surfaced "in 10 feet of water". "in X feet of water" means you are in a column of water that deep to me, but I've spent more time on top of sailboats than under them now, so maybe that's just wrong terminology.