Olá Rafael,
Nos dois for utilizados são feitas 100 iterações, pois os dois são iguais e os dois executam baseados no range(100)
A diferença está no conteúdo de cada for, que no caso do py_list temos mais um for interno, o importante é lembrar que o primeiro for é parte do teste e o segundo é parte do conteúdo testado.
Sobre a segunda dúvida, você pode sim fazer o teste em mais de uma linha, o %time vai testar uma linha como você viu e tem também o %%time que testa a célula de código.
%%time
# Operação 1
# Operação 2
# Operação 3
# ...
Dá uma olhada também no %timeit no lugar do %time, ele é mais avançado e dá mais informações sobre as execuções.
Espero ter ajudado, qualquer dúvida é só falar!