Why are perihelion and the shortest day in the northern hemisphere different?
We have "days" because the Earth is rotating. The shape of the orbit has little effect on the daily cycle of light and dark. 

The length of the day is determined by the tilt of Earth to the orbit of the Earth around the sun.  When the Northern hemisphere is pointed away from the sun, then the sun is low in the sky and is below the horizon for longer. So the shortest day happens when the Earth is at the point in its orbit when the angle that the Earth's axis makes with the line from the Earth to the Sun is greatest. This is on about the 21 December.

The longest and shortest days of the year occur because of the tilt of the planet, which also controls when the Equinoxes and Solstices occur. The tilt of the planet has absolutely nothing to do with its location in orbit, and it's only pure coincidence that they're so close together. Also, perihelion moves over time (apsidal precession) and in 56,000 years it would occur on the longest day in the Northern Hemisphere. Except for the fact that the Earth's axis will have also precessed (with a period of around 26,000 years) so the shortest day will occur somewhere else on in the Earth's orbit 

For the sake of clarity: The equinox does not occur on the minor axis. The solstice does not occur on the major axis. The tilt of the Earth to then orbital plane does not change over the course of the year, and the Earth's rotational axis is no aligned with the major axis of the Earth's orbit.