"Ago" refers to one moment (or range of time) in the past that is done--it is not continuing till now. If you said "I've lived in N.Y. for five years", it is presumed you mean that you moved to New York five years ago and have lived there since that time.
"I've lived in N.Y. for five years" might also mean that you moved to New York six years ago, then some time later moved away for a year, then moved back.
"Since long ago" is thus correct: a long time ago they dressed in black, and since that time (which is over) they have always worn black.
So you could say "I've lived in New York since 5 years ago", but you'd probably instead say "I've lived in New York since 2016" to emphasize the point in time that you moved there, or "I've lived in New York for five years" to emphasize the duration of time you've lived there. You wouldn't use the word "ago" in this context because you still live there now; the time of you living there hasn't ended.