why would one grand slam make such a difference so that cannot catch Nadal or Federer at the top with the number of grand slams?
It makes whole lot of difference because right now if Djokovic never wins another Grand Slam then he only has himself to blame. Thiem, Zverev, Medvedev are chasing down Federer, Nadal and Djokovic.
he would catch Federer with the number of weeks at the top of ATP list
I respect your views but disagree. Just look at the rankings. Add 2000 ranking points to the winner and 1200 to the runner up, when looking at Thiem and Medvedev, one of them will be the winner or runner-up and will get those points. Nadal will be back at the French Open and maybe Federer again so I cannot see Djokovic overtaking Federer as most weeks at #1 position of the rankings
and will fight with Nadal for number of grand slams, since it is more chances for Nadal to win another one/two RG, than Federer to win any tournament
The issue is as simple as this, Djokovic must win more Grand Slams to catch Nadal and then one more to catch Federer and then another one to go one ahead whereas Nadal and Federer do not have to win any more to catch Djokovic because they are ahead.
The onus is on Djokovic to win and the pressure is on him too. Though you and others might disagree I think this was his best and last real chance of winning a Grand Slam because Federer and Nadal were not in the picture but I cannot see him winning another because Thiem, Zverev, Medvedev and to a degree Tsitsipas will be pushing for titles. At 33 years of age Djokovic will be fortunate to reach another Grand Slam semi-final with these players in the chasing pack. Just my opinion.