OK.
Given that description my guess is synchronisation/ready state issues.
I can't see all your code, but I think you have it set up with a small function for each menu selection you want to make?
Each one goes in, then drops straight into a loop that runs 9 times. Inside that loop you check if something exists, if that something does NOT exist, then you press CTRL+C (to open the menu?) then click option 1/2/whatever.
However, there is nothing between those lines?
You have:
CTRL+C
CLICK 1
CLICK 2
What might work better would be:
CTRL+C
<wait until menu is visible and ready - or timeout>
{check the element you want exists in the menu - except you are using index numbers so probably wouldn't do this}
CLICK 1
<wait until the sub-menu is visible and ready - or timeout>
{check the element you want is there - again ... index numbers so not for you}
CLICK 2
<wait until the object that clicking 2 appears - or timeout>
^^^ is about the best guess I can come up with without seeing the application, all the code, and how it fails.
Intermittent failures like this are usually sync/state issues. And if you are waiting on objects or states, you should always have a timeout escape clause so you don't get stuck in an endless loop.
Or they could be due to unreliable mapping of objects. (So I'm assuming your mappings are reliable)
Not sure about your "unknown name" error? Support page for it: https://support.smartbear.com/viewarticle/89804/
Not sure if it throws that if the object is not yet ready so the method is not yet available? Not one that's come up for me.
Your other error is "menu item 1 is disabled". Which is more the type of error I'd expect if the menu is not fully ready when you try clicking it.
Also, I suspect your loop is in the wrong place. You've put the whole thing inside the loop? What if it opens the menu, clicks 1, but fails on 2 (and doesn't stop due to that failure). If that happens, things will be in a different state second time round. You'll be pressing CTRL+C on a menu that's already open? What happens then? I can see that getting messy.
If you want to put it in a loop you would better to loop over the menu a few times until it's ready, then go onto the selections.
I have a single handler function for 3 or 4 different types of dropdown as a central shared function of my code. It takes in a locator to the control based on onscreen labels, the required selection items - never index numbers, and what to do with the selection - eg. find, click, right click, make sure it's gone, etc. It has TONS of checks and validations as it goes through. It has to - especially with 3 or 4 different types of dropdown to deal with. They're similar, but not the same so checks vary between them. To keep them reliable, automated tests often consist more of checks and validations than anything else. Especially if you are allowing user data to populate and drive your tests as you then have to account for people errors too ....