because in a many to many relation, it uses the related name as a primary key to make a relation between two models, many items can refer to same or multiple related names, but if you have 2 fields with same name, how does it know to which it should connect?, if you want to have duplicate names in that model column you can relate the two models by primary key column and call different object attribute keys of a value from it’s primary key