After researching this topic on Google for a while, I have found a predominant theory as to why inanimate objects are given gender in English. I had to look up inanimate objects, rather than specifically English, because it was a much more general and researched. What I have found is a possible theory; the genders objects are given in English have been traced back to the genders objects were given in the Indo-European language.
At the bottom of the page of the link, there is a summary of some words and their gender assigned to them by their language. Because English doesn't have a gender, a survey was done to get the average score of each word. The scores range from -1 to 1: -1 meaning masculine, 0 meaning neutral, and 1 meaning feminine.
http://www.foundalis.com/res/EvolutionOfGender.pdf