No.5の方とほぼ同じですが…。
既に他の方が回答された通り、武家政権の時代に将軍がいたところを首都と呼ばない人にとっては、『形式上は天皇が主権者であり、よって天皇がいるところが首都である』と考えるからですが、これは首都をそのように定義したからそうなるだけの事で、例えば、辞書をひいたら普通に出てくる『一国の中央政府のある都市』(goo辞書)という定義からすれば、江戸時代の首都は間違いなく江戸ですよね。当時の『法律』に沿って考えても、幕府が禁中並公家諸法度を制定しそれが有効だったのだから、幕府が朝廷に対して上に立っていたのは明らかです。(将軍が天皇に『任命』されていた、というのは、実態社会に影響がほとんど無く、実態社会に影響を及ぼす部分では幕府がはっきりと優位でしたから、歴史では、幕府が自己の権威付けの為に利用していた部分を取り出して、形式上は朝廷の方が優位だった、とはあんまりいいませんね。所詮、形式に過ぎませんから)
応仁の乱以降の室町幕府は中央政府と呼べる実態はあまりなかったので、積極的に京都を首都と呼びにくいですが、それでも他の場所に比べれば明らかに「政治の中心」として認識されていましたから、京都を首都と呼んでも、それ程おかしくないでしょう。
ただ、歴史では、どこが首都だったか、という事よりも、どこに政治権力の中心があったか、という事の方が肝心なので、あんまり真剣に「日本の首都はどこだったか」という議論はされません。簡単に言えば、あんまり興味をもたれていません。だから、「どこが首都か」というのは、歴史とはまた別の議論なので、「天皇がいたところが首都なのだから、江戸ではなく京都が首都」、「中央権力があるところが首都なのだから、江戸が首都」のどちらも正しい、でいいんじゃないでしょうか?
「天皇がいる所が首都である」という定義を採用している人に、「何故幕府所在地が首都ではないのか」という議論をふっかけても、最初から定義が違うので、噛み合わないと思います。どちらが間違いというわけでもないのだから、それはそれでよいのではないでしょうか?どちらをとろうが、天皇がいる所よりも、幕府所在地の方が政治の中心であった事は間違いないのですから…。