The highlighting here:
The dynamic linker then finishes the linking task
misses the important word, “finishes”. The linker, ld, starts the linking task, performing as much as possible at build-time and preparing the data structures required to finish it.
The loader can then finish the linking task as it loads the program and the libraries it needs: matching up symbols, and performing the necessary relocation.
In CSAPP’s terminology, the dynamic loader is the in-kernel ELF loader, and the dynamic linker is ld-linux.so.
The GNU C library’s own documentation refers to ld.so as the dynamic linker/loader.