Section 3, Protocol Exchanges I think a client should be allowed to abort a sequence of SSH_MSG_USERAUTH_INFO_REQUEST, SSH_MSG_USERAUTH_INFO_RESPONSE by sending a new SSH_MSG_USERAUTH_REQUEST.
Yes, of course the client can do that. This is a standard part of the userauth process, as specified in the ssh-userauth document:
3.1.1: An authentication request MAY result in a further exchange of messages. All such messages depend on the authentication method used, and the client MAY at any time continue with a new SSH_MSG_USERAUTH_REQUEST message, in which case the server MUST abandon the previous authentication attempt and continue with the new one.