The mistake is in adding $2 to the $24 * 3 each person paid. The $24 * 3 covers the $70 bill (after discount) + the $2 tip, which is what was paid. They should have then added $3 to the resulting $72, as that is the only part still unaccounted for. The $2 was already accounted for in the $24 * 3.
There is no puzzle, the problem is simply lying to you. +$2 at the end is a flaw/disconnect in the logic, using it there is not modeling the same problem. The entire thing is correct up until the +$2.