You've got like 3 features, and a list of names with values for each one of those features. You could literally do
_, result = min([(sqrt((i.R - c.R)^2 + (i.G - c.R)^2 + (i.B - c.B)^2), c) for c in colors])
and you're done.
Why would you want a computer to come up with color names anyway? They're identifiers, so you want them to be consistent. What if it comes up with names like Piss or Ennui? Why go through that trouble?
I kinda hope that was a genuinely curious question and not an arrogant rhetoric one.