What are the sources of DIFFERENCE IN ETHICS between people, companies and nations?
This is a sophisticated question. I would say that the chief source of difference among people, companies and nations is culture. Each culture has a different set of values. We can even say that each culture has a different common sense view of the world or a cultural idiom. Or to use the social scientists and cultural anthropologists, each culture has its own sensibilities. So, for instance, one society might prize the elderly and another society might prize youthfulness. One society might be very individualistic and another society might be very much about the collective group.
In light of this, society and culture make the biggest difference. So, the ethos of any company or organization will be shaped by the cultural forces around that company or organization.
Another factor will be economics and social status. Money and the lack thereof, unfortunately, play a very big role in how people perceive the world.