Зачем учить asp.net, если есть js, и зачем учить js если есть asp.net?
почему серверную логику пишут одновременно на двух языках
В данном случае Js используется для удобства вывода информации клиенту, к серверной части он никакого отношения не имеет. Серверная часть занимается тем, что проверяет полученные данные, сохраняет в базу и т.п. без участия в этом машины пользователя, а js у пользователя в браузере может проверить корректность введенных данных до отправки на сервер или просто сделать форму с красивой анимацией. 
По факту в данном случае можно обойтись на клиентской части и без js, но тогда никаких ошибок при вводе неверных данных отображаться не будет.
Псс парень, если зайдешь на метаните в разделы php/go/python, то увидишь что там тоже можно создать такую же форму.