PropertyInfo.Attributes doesn’t have anything to do with the Attribute class. Check the PropertyAttributes enumeration for values you may encounter. These are CLR implementation details that have no obvious connection to C# code. Yes, that was an unfortunate naming choice.
To find attributes like your [Required] attribute you must use the CustomAttributes property.