calling eval() for a part of a model is meaningless. Am I right?

It depends what you want to do.
If you want to prevent gradient computation, then it is not what you want indeed. You need to set the requires_grad field, or combined_vgg8_student.stage_1.requires_grad_(False) that will set the field on all the parameters.
If you wanted to disable dropout and put batchnorm in evaluation mode (that uses the saved statistics), then this was the right thing to do