Another potential reason is that your cat is trying to "read" where you've been all day. Your shoes pick up all sorts of interesting smells throughout the day, and your cat wants to know what you've been doing. Also, when he rubs his cheeks and foreheads on your feet, socks and shoes, he's reclaiming his territory. His cheeks and forehead have scent glands, and the rubbing is one way he marks his territory.
Cats also react to pheromones contained in our sweat. This sounds gross and is, but is true. It makes them happy, secure, and even high, similar to the way catnip works on cats.