First of, please confirm if you are using SeleniumLibrary or Selenium2Library. name= as a locator prefix is not supported in SeleniumLibrary except for Flex elements.
try:
self._page_should_contain_element(locator, 'input', message, loglevel)
except AssertionError:
self._page_should_contain_element(locator, 'button', message, loglevel)
I would expect "Page should have contained input 'name=btnI' but did not" to be logged, but not be the actual FAIL message for keyword Page Should Contain Button. Please confirm whether this is INFO or FAIL.
Try running with --loglevel DEBUG and analyzing the log or posting it here.