1) Правильно ли понимаю, что тот же самый 176.59.*.* адрес провайдер предоставил нескольким людям и они одновременно вместе со мной под ним находятся в интернете?
Да.
2) Правильно ли понимаю, что это все через NAT работает, а суть NAT в том что роутер провайдера назначает всем клиентам индивидуальные локальные адреса вида 10.160.*.*/30 и когда от них пересылает исходящие от них пакеты в интернет, то дописывает к этим пакетам порты, которые назначил каждому из клиентов
Раздает локальные адреса DHCP. NAT занимается именно "проксированием". При подключении с серого адреса через NAT, на сервере-маршрутизаторе динамически выделяется порт для обратной связи, но это не для клиента а для конкретной сессии.
3) Если я вдруг захочу сделать ftp на этом сером IP, к общему адресу 176.59.*.* который у многих клиентов одновременно, нужно дописать номер порта, который назначил роутер провайдера
Порт динамически назначается на каждую отдельную сессию, а не на ваш комп. Поэтому так не получится. Технически можно делать port-forwarding и прописаьт статический порт, но ваш провайдер скорее всего такой услуги не предоставляет.
4) 176.59.*.* это белый адрес, являющийся адресом роутера провайдера, который с помощью NAT перенаправляет от клиентов в интернет пакеты?
Возможно у провайдера все немного сложнее и адресов больше. Но в целом - да.