You probably already know this, but are you actually prepending the token with oauth: (so using oauth:<token> as server password) when using it for IRC? Also, do you have the correct scope associated with the token? You need the chat_login scope. You can check if the token you are using is valid and which scopes it has by specifying it at the Kraken API root endpoint: https://api.twitch.tv/kraken/?oauth_token=<token> (the token without oauth: in this case)
I also get the Invalid CAP command message in mIRC when connecting, I don’t think it has to do with the login problems.
I remember having issues with an old account as well. Haven’t checked that one recently tho.
And no you don’t need a seperate account for your bot. You can use any account usually (besides those apparently)
The account and the token are tied together, you can’t login with another name than the account name associated with the token. It’s like a username and a password, you also can’t use the password of one account to login into another account with a name you just made up.