I would like to know if addressing an American with the word 'buddy' would be considered offensive. If the answer is yes then would it be considered offensive by an American irrespective of the context and tone or would that matter?
That's going to depend on tone of voice.
Hey, buddy, get off my car!
This usage is condescending; especially when you don't know the person. Expect it to be replied with "I'm not your buddy, pal!".
— Pauly Shore
This usage is friendly, though people will probably question your intelligence.
I went to the lake with a buddy of mine and we fished for a while.
This usage is colloquial and would not offend anyone.
Hailnames are extremely fraught. There is some good discussion at Is there a word for colloquial forms of address? -- in short, there are none that cannot be misunderstood. The exact situational use, tone, and social details affect their interpretation deeply, and in ways users often are not consciously aware.
As a colloquial word for friend, as in "My buddies came over to play some board games", it is not offensive. Strictly speaking, it can apply broadly, but it is almost always used to indicate friends who are men, and who one is not romantically involved with.
No, it is not offensive:
Buddy (North American English also bud) (informal) a friend.
an old college buddy of mine
Howard and Mick were drinking buddies.
We were good buddies.