Why do some towers reference departures by compass direction, others by leg of pattern?
It depends on local custom.

Some airports have multiple runways, so controllers will use compass points instead of pattern legs, and this habit will carry over when they are assigned to a single-runway airport.

Other airports have noise abatement procedures which have specific names. Below are the departures for San Carlos airport, and pilots are expected to use a named departure, such as "Belmon Slough Departure" instead of "right-crosswind departure," and tower will readback the named departure.