All based on demand! If there was higher demand then you can bet BA/others would be adding extra flights. Two BA flights a day isn't out of the ordinary when you compare it to many other long-haul destinations they cover.
Also, there are a lot of connecting options heading east, factoring in all the short-to-long haul connections you could make across Europe, the frequent services via the ME3, plus all the other Far East destinations where people can connect onto Japan.
I'm not surprised by no direct services to other locations in Japan such as Osaka. Reality is even if people head to Osaka or Kyoto they'll want/need to be in Tokyo at some point too, as that's the business hub for the country (and anyone visiting for pleasure will want to see Tokyo too). Although Osaka is a business hub it's not so much an international one like Tokyo is (and much smaller), although a lovely city and a real highlight during my recent trip to Japan.