Stuff I'd recommend
Touch-training rows: You make a "blade" with your hand and put the right side of your right hand (like chopping with your right hand) between his shoulder blades and tell him to "squeeze it." This is the "money" exercise. You can let him do it on his own on the last set - just remind him to "squeeze together at the top" and hold for about a second, and then lower under control. Maybe machine rows would be better than bent over rows, and one-arm dumbbell rows with no support once he gets the hang of those.
Face pulls with external rotation: He sits on the floor with a cable pulley 2 feet or so above his head and in front of him. He grabs one of those triceps ropes (attached) with his thumbs DOWN then once he has a hold of it he pulls down/back with the elbows and again goes for the shoulder-blades together. As a bonus, to finish the movement he needs to make sure his wrists and elbows are in the same plane. More here:
http://www.t-nation.com/free_online_article/sports_body_training_performance/pushups_face_pulls_and_shrugs
Pushups with PROPER form: He keeps a straight back and vertical feet and soft knees, wider than shoulder width grip, lowers under control, pauses with his nose close to the ground and shoulderblades together, pushes back up the top with a faster tempo, and "keeps pushing." There is a good explanation on the article above, too.
Those three should get him back in the game. Do twice as many of those as he is doing pushing movements of any kind. He can do pullups but his shoulder blades need to be flat while doing them.
When he is standing, tell him to stand on his heels with "soft" knees and stick his chest out. Every morning and night have him do (at minimum) the "doorway" pec stretch and "door-knob" lat stretch for a few minutes.
You can also have him lie down on a foam roller or round section of PVC pipe, either perpendicular or vertical to his upper body, and work up to doing it with his hands behind his head. He needs to breathe while doing this and relax everything. It should be "good painful," not "bad painful."
Also, finally, get on his ass when he is slumping or letting the blades stick out. The 23 hrs/day OUTSIDE the gym are much more important.
When he gets this under control, have him do deadlifts, possibly snatches, and keep doing rows to keep it under control. If he has any pain whatsoever with a pressing movement ("there is either pain or not, no such thing as 'a little pain'") CUT IT OUT THAT DAY AND DO A PULLING MOVEMENT.
Scapular wall slides are tough to do, but have him do a few reps if he can do them with good form every day. Some people just plain can't until they start to get better posture though.
Good luck...work with him. You may have this problem too, so think about implementing these strategies yourself.