Weird. I never saw the other discussion. Strange as in both discussions the displayed default translation has an honest – looks like some technical Duolingo problem. Since there’s been no new discussions about it for the last few months – maybe you’re right and it’s been fixed now?
This is a bit complicated. Firstly, onarach does mean 'honourable', but it is not the word that is usually taught, as there is another word, urramach, that has the advantage of not being ambiguous, since it does not mean 'honest' as well.
But we have to ask 'what does honourable mean anyway?' I think this is where the meanings have diverged. When someone honours a promise (so they are honourable) you mean they are to be trusted – they are honest. But it has another, more usual, meaning, of 'worthy of respect'. It is fairly easy to see how the confusion arose, since someone who is 'honest' is clearly 'worthy of respect, respectable'. Going back to the Latin in Wiktionary, it seems that the 'respectable' sense was the original, so presumably the 'honest' sense arose because respectable people were deemed to be 'honest'.
The ultimate origin (that is 'as far back as we can trace') is the Latin
In short there are no clear boundaries, so they should accept 'honourable'. Onarach is often used in that sense, as shown by this example in Mark (2003)
tha e cho onorach ris na seachd glasan he is as honourable as [the] seven locks
+ several examples of eas-onarach 'dishonourable'
It may be just the chance of which examples made it into the dictionary (although it does seem right to me), but there are more examples of
- mì-onarach 'dishonest'
- eas-onarach 'dishonourable'
This makes sense because eas-onarach comes from eas-onair 'dishonour', whereas you cannot form 'dishonest' in the same way. Mì is just a prefix you attach to an adjective to make it negative and bad.