I just read that specific ranges of IPs have been set aside to be used to private ip addressing. But if we already distinguish between public and private IPs why do we need to reserve space? Why cant a public ip and a private ip be the same considering other publics ips do not access the private one directly?
You actually could use public address space on your private network (nobody is preventing you from doing this), but that would be foolish since you could no longer reach those addresses on the public Internet. Any attempt to reach public Internet sites with addresses in the range you use for your private addresses would never leave your private network.
The reason for the separate private address space is that it will not conflict with any public IP addresses.