"I'm more curious about why "different computer draws the image slightly differently"
Accessibility. This is important. The HTML5 canvas is about more than just images. It's live elements that can contain text content and other display elements. HTML should render in a sensible manner on any device as dictated by the owner of the machine. All owners are not created equal. All renderings should not be equal.
"Browsers are supposed to provide abstraction from the machine" even if that's true, there's also a matter of canvas dimensions, which can vary depending on your resolution and browser's width. Those are not attributes of the machine, but of the display environment for the page. HTML is designed to adapt to different dimensions, font settings.