The ShapefileAttributeReader does not properly resolve field names to their indices for duplicate fields. Duplicate fields get the value of geometry due to the fall-through case in the ShapefileAttributeReader.
The ShapefileDataStore does assigns the duplicate field a new name, but knowledge of the original field name or the duplicate instance number are not preserved. As a result when the ShapefileAttributeReader tries to resolve field names to their indices, it cannot find the field.
The included patch is against branches/2.7.x.