The getter return type does not use a bounded parameter to allow the returned set to be modified. Unfortunately in Java, you cannot use the add method of a collection with a bounded parameter. By returning a set with an explicit parameter the caller can add new items without casting the results. This code: obj.getNameType_Names().add(aName), would only be possible if the getter returned a set with an explicit parameter.
In the setter, a bounded parameter (not explicit parameter) is declared to allow sets of subclass instances to be passed to the setter. If an explicit parameter was used in the setter Java would not allow a set to be passed if it was declared with a subclass parameter.