If it where correct you would be getting the correct results.
the way you are linking the tables is not correct.
run this query directly on the DB and you'll see more clearly:
SELECT serving_team.*, cleaning_team_shifts.*, clerical_team_shifts.*, it_team_shifts.id, it_team_shifts.it_team_id, it_team_shifts.it_volunteer, youth_program_shifts.* FROM serving_team LEFT OUTER JOIN cleaning_team_shifts ON serving_team.id = cleaning_team_shifts.cleaning_team_id LEFT OUTER JOIN clerical_team_shifts ON serving_team.id = clerical_team_shifts.id LEFT OUTER JOIN it_team_shifts ON serving_team.id = it_team_shifts.id LEFT OUTER JOIN youth_program_shifts ON serving_team.id = youth_program_shifts.id WHERE cleaning_team_shifts.ct_volunteer = '6644'