The problem is that you put all your layers in a list (self.fc_layers) that is not a module. Calling eval() puts every module of your model to eval mode recursively. However self.fc_layers not being a module, it does not switch it to eval mode.
If you do not want to modify your model, you will have to call eval() on every module in self.fc_layers with:
model.eval()
for m in model.fc_layers:
    m.eval()

The other solution is to create a Sequential from self.fc_layers by calling
self.fc_layers = nn.Sequential(*self.fc_layers)

The rest does not need any modification. Although it then becomes faster to simply call x = self.fc_layers(x) instead of the for loop.