Required tests that the field is not null. Your string is not nullable, so it’s required by default as a null value is not allowed. To make not required, make nullable:
[MaxLength(50)] public string? GraduateSchool { get; set; } = default!;
See docs
https://learn.microsoft.com/en-us/aspnet/core/mvc/models/validation?view=aspnetcore-6.0
Note: the browser posts no value for empty text fields.