You can start steam just fine without the packages. In fact, if you install without them, it’ll ask you to install them every time, but you can skip that and it’ll work, just 32bit games won’t launch
Edit: Looks like I’m partially wrong, as pointed out by a commenter below, steam currently only launches the 32-bit version of the client, despite support for a 5l64-bit client
Not quite correct. For html, that is to signal standard compliance, you can leave it away and the browser will still handle it. For the bash one, all (most) shell scripts use .sh, so you need to give a shebang to tell the loader which executable (sh, bash, zsh, csh, …) to use
Also on Linux xdg does take file extensions into account, just executables do not