Plugin settings are saving but the fields

You appear to have the validation function commented out. Try this one for testing only:

// WARNING THIS IS HORRIBLY UNSAFE DO NOT USE IN LIVE SITES
function plugin_options_validate($input) {
   return $input;
}

Now do your options save?

Validation functions are not optional. They take the settings, validate them, and return the valid ones. If you don’t have a validation function then the settings won’t be returned from it, and therefore won’t be saved.

The function I just gave is horrifically unsafe, because it does no validation. You need to have code here to check the incoming settings, make sure they are valid, and to then return the valid ones. Without this, settings cannot be saved.