Usually dependent I-485 can't be approved without the approval of primary I-485.
The explanations to your case: (1) USCIS made a mistake (2) They just want to approval all your cases, but only get one visa number left and they approve your son's case. (3) They actually approved all your cases, but not update every case online.
Call USCIS to ask is the best way.