In addition to the increased weight (and yes; safety is a large part of that) and horsepower to compensate, the EPA has changed mileage test procedures since then. Current procedures produce ratings about 10% less than the previous ones -- on average. Cars designed for high mileage with small engines often suffered more. (The Prius, for instance, dropped from 60 MPG to 48 with the new tests.)
For a couple of examples, the old tests had an average city speed of 22 mph, while the highway estimate was based on 48 mph. Speed has a major effect on mileage. Or, the old tests used accelerations equivalent to a 0-60 time of 18 seconds. The new tests are more realistic; hence the lower numbers.