Some of the famous sports clubs currently are 100+ years old, so i think the question is history related.
Is there some reason behind the fact that most of the american sports clubs have nickname in their official names? Even in the MLS, which is the newest major league most of the teams have nicknames.
In the rest of the world the teams have nicknames too, but never use them as official name.
A lot of what you're referring to depends on the sport, and thus is kind of a false premise.
Where the sport is football, it's true that nicknames aren't generally a part of the official club name, though there are exceptions (Tottenham Hotspur, Bolton Wanderers, Queens Park Rangers, et al.) and even those clubs who do not have nicknames in their official club name still have nicknames (Manchester United are the Red Devils, Everton are the Toffees, and so forth) which are widely used on a colloquial basis.
This is, however, just for football. In the UK, the vast majority of professional Rugby Union sides, some of which date back centuries, have nicknames which are their official names - Saracens, Harlequins, London Irish, Leicester Tigers, and so on - with very few exceptions. Similarly, in Aussie rules football, many of the clubs, even the oldest ones, at the highest level now include nicknames as a part of their official names (the Western Bulldogs and the Sydney Swans, as an example, have changed their names to include their nicknames) and even those that aren't a part of their official name are still used widely by the team, the fans, and the media (St. Kilda Saints, North Melbourne Kangaroos, Geelong Cats, just to name a few) to the point where they might as well be a part of their team name.
With that being said: why nicknames/mascots? Several theories can be put forth - first, in countries with multiple well-known, well-funded sports leagues, team names beyond a city name become necessary in order to distinguish the clubs whom one is supporting. Thus, when someone says "I'm going to a Chicago game tonight! I hope they beat New York!" a team name aids in clarity - did you mean Blackhawks vs. Rangers, Bears vs. Giants, White Sox vs. Mets, Bulls vs. Knicks, or Fire vs. Red Bulls?
In other parts of the world, this is not generally an issue - in the UK, for example, it's true that football is dominant, and thus saying "I'm going to see Stoke play Newcastle!" conveys all the necessary information. In situations where one city contains multiple teams, the tendency has been to add additional information to the team name (so, Manchester has City or United) or name the team after a neighborhood rather than the city itself (so, London contains Arsenal, Chelsea, Tottenham, and Fulham among a myriad of others) - again, striving for clarity.
In other, non-football sports leagues around the world, it gets a little sticky. In Russia, for example, the professional hockey league is the KHL (which actually is a league including non-Russian professional sides) and the vast majority of teams in this league have nicknames of a sort - those that are in a city with more than one team in the league always have a nickname, and most of the others do as well. So, Moscow has both Spartak and Dynamo (among others), but Astana has Barys Astana, with Barys meaning "snow leopard" in Kazakh.
At the heart of it all, though, is the question of why nicknames which I think is what you're really searching for. This is more of a sociological question than a historical one - because the fact is, the development of nicknames for teams is as old as team sports themselves. In some way or another, teams have been using color and symbol to distinguish themselves from their rivals as long as there have been teams. In Rome, the chariot-racing teams (similar in many ways to the Formula 1 teams in the modern day, but with significantly more gang-related violence) were the Reds, Blues, Whites, and Greens, and their factions and rivalries spanned centuries and cities, and caused city-wide violence (see: the Nika riots) that would make the Stanley Cup riots in Vancouver look like a tea party.
Sports teams need names, colors, symbols, etc. for the same reasons that religions and nations do. It's one more method of distinguishing friend from foe and creating a sociocultural bond between members of a tribe. Those teams, religions, and nations which do it poorly eventually dissolve. Those teams that do it well (and yes, winning is part of creating that sociocultural bond, as is how teams respond to a significant losing streak - looking at you, Chicago Cubs) last for centuries. And those that are dissolved artificially, if their team bond is iconic enough, can still last on. Look at sales of Hartford Whalers gear even though the team moved to Carolina almost 20 years ago!
TL;DR - your premise is faulty, but nicknames are another method of sociocultural team development which has existed as long as team sports have been a thing.
Just to clarify. What do you mean by nicknames? Are you talking about the "Celtics" in the Boston Celtics as a nickname?
On the contrary, in British rugby, most of the teams have official nicknames, like the London Wasps, the Newcastle Falcons, the Northampton Saints, etc. The same goes for South African rugby, with teams like the Golden Lions, the Blue Bulls, and the Natal Sharks.
In regards to hockey (could probably be applied to other North American sports, but I don't know them), it stems from the formation of the sport. Hockey clubs were one branch of a sports club. Montreal, the largest and most important city in Canada in the last 19th/early 20th century (when hockey was being formed), had several clubs representing the various ethnic groups in the city; because there was so many clubs, only one could be called the "Montreal Hockey Club," while the rest adopted nicknames, often associated with their ethnic identity or from the ice rink they were based out of. Thus the club formed by the Irish was called the Shamrocks, while the club that played at the Victoria Skating Rink was known as the Victorias.
In cities like Ottawa and Quebec, which only had one team, they were formally known as the Ottawa/Quebec HC, but sportswriters adopted nicknames for the clubs that would remain (the Senators and Bulldogs, respectively).
By the mid-00's, it was more common than not for clubs to have an official nickname; thus in 1909 the Club de Hockey Canadien (Canadien Hockey Club) of Montreal adopted the old name for the French settlers of Quebec, in part to build an identity as a club for the Francophones of the city (contrast with the Montreal Wanderers, and when they folded the Montreal Hockey Club, which was known as the Maroons due to the colour of their sweaters; both were seen as English-backed clubs in the city). Likewise the Ottawa HC would eventually adopt the name Senators as it's official name, as it was widely known as such.
In short, clubs first started to use nicknames sparingly to differentiate between clubs in a city; combined with the use of nicknames by supporters and/or newspapers, and the teams just adopted the names themselves, making it a feature that became commonplace by the 1910s.
Sources:
Coleman, Charles (1966), Trail of the Stanley Cup, Vol. I.
Cosentino, Frank (1990), The Renfrew Millionaires: The Valley Boys of Winter 1910.
Jenish, D'Arcy (2009), The Montreal Canadiens: 100 Years of Glory.
Kitchen, Paul (2008), Win, Tie, or Wrangle: The Inside Story of the Old Ottawa Senators 1883-1935.
McKinley, Michael (2009), Hockey: A People's History.
McKinley, Michael (2000), Putting a Roof on Winter: Hockey's Rise from Sport to Spectacle.
Wong, John Chi-Kit (2001), The Development of Professional Hockey and the Making of the National Hockey League.
Don't forget that early on, single cities had multiple pro teams in the same sport. New York Americans, Rangers, for example. Or the Montreal Maroons, Canadiens. It also signified change in ownership or helped identify a new team culture. When the Detroit Cougars struggled, their name changed to the Falcons, then finally the Red Wings.
I don't think the question should be "Why do North American teams use nicknames," but rather "Why doesn't Europe?". After all, Europeans do have nicknames for military units and have for hundreds of years, and are no stranger to nicknames in other areas.
I'd just like to point out that with the ongoing Hull City "Tigers" saga (google it), people said that in Hull, the football team is referred to as 'City' to differentiate it from the rugby league team, (I'm guessing Hull KR). So whilst /u/ary52 has a point about Cleveland, here's an English example.
Also, with /u/VM1138 's point, Manchester has two big teams, but they're known as 'City' and 'United', respectively (and not as the Manchester Citizens and the Manchester Red Devils, as they might be known if American)
Through my Australian eyes, the difference I believe is accounted for by capitalism: the various American leagues are all profit-, and build-it-and-they-will-come focused, which results in zany, unconnected nicknames, and also uprooting teams who aren't making a profit.
European sporting teams, on the other hand, have generally sprouted from community, usually working class, efforts. Hence the humble and quiet European sporting team names (e.g. Sheffield Wednesday, called so because the founders used to meet on a Wednesday; Athletic Bilbao and their Basque-only policy; Livorno and their communist connections; Celtic's traditional links to the Irish Catholic community in Scotland, and in both Irelands)
I'm not at all familiar with European football/soccer, so I have to wonder, just how tied to the cities are the teams? Is it, at least in theory, feasible that a team could up and move to another city? Or even if possible in theory, would it be so unthinkable as to be a de facto impossibility to even consider? Obviously I wouldn't expect them to keep the same name and play in another city. That is, I wouldn't expect the owner of Liverpool FC to move to say, Dublin and keep the Liverpool FC name, but I'm wondering if an owner could threaten to move the team's assets, players, etc, to a new city. You see this in American sports somewhat often - often for example as a bargaining chip to try and get public funding for a new stadium. Some of the most notorious events and "betrayals" (as seen by fans at least) in American professional sports involve the moving of teams to a new city. Many people still revile owners who have "taken away their team". Sometimes there will be a name change, but often not. In the case of keeping the name, it serves to keep a connection and implication that it's the same team, just a new town. I wonder therefor, is this also possible contributing factor?
(Sorry, I know this sounds like I'm speculating, which I am, but I'm not proposing it as an answer, but a question)
I personally think it's worth pointing out that in the US the teams are franchises of a bigger corporation i.e. The League and are therefore marketed so as to increase the profile of the brand. Mascots and exciting nicknames help with this. Some teams however, especially those that predate the "franchisment" of their respective sport are more similar to the nicknames used in association football in that they are less about what nicknames will excite a fan base and more about a bygone description of the team's local ethno-social area, their profession, or what they wore, for example, Cincinnati Reds, Chicago White Sox, Green Bay Packers.
In England, the clubs are independent organizations that are responsible for their own marketing, and are therefore not concerned with league-wide brand consistency.