¿es necesario memorizarlos todos?
No.
Hay materías en las que probablemente nunca llegues a profundizar, por ejemplo tal vez debido a tus necesidades de programación nunca llegues a necesitar manejar sockets, entonces evita la lectura y el aprendizaje del módulo
socket dedicado a los sockets.
Simplemente descarta todo aquello que no consideres necesario por el momento, y lee el resto, empezando por los datatypes, los operadores, la sintaxis, etc, lo esencial del lenguaje, y luego las referencias de los módulos más esenciales, cómo por ejemplo el módulo
string.
¿que puedo hacer para recordarlos?
Practicar, es la única manera de poder recordar lo que hiciste para resolver "X" problema la vez anterior, para eso debe existir un registro mental de una vez anterior.
PD: Eso y comer mucho pescado xD.