When you use the .modueles() method, you get a list of all the modules present in the network, it is then up to you which ones you want to keep and which ones you don’t. You can check the implementation of the model or simply print the list to see what all is present.
Yes the last layer is a classification one and if you want to add another convolution block, you might have to remove it.
Otherwise it is not compulsory to remove it, for example, you could add another linear layer on top of the classification layer.