If you interpret the question to mean that the two teams were there at any time, not necessarily at the same time, there are a lot more answers. In addition to the 6 cities from the 20th century which had two or more teams at the same time, we also need to add the following cities who have had two or more franchises, although not at the same time:
Baltimore, Cleveland, Columbus, Detroit, Indianapolis, Kansas City, Louisville, Milwaukee, Pittsburgh, Toledo and Washington.
If you also include 19th century franchises that are not considered to have been major league teams, the list gets even longer!
http://www.baseball-reference.com/teams/