The separator after s can be any character. Also, I'd recommend using single quotes around the script unless you specifically need double quotes (in which case the backslashes need to be doubled).
sed 's%\('"$name"':.:[0-9]*:\)[0-9]*:\(.*\):\(/.*/.*\):\(/.*/.*\) ...'
Repeat: you need to double the backslashes if you use double quotes. This is an artefact of the shell's quoting mechanisms, not of sed syntax as such. If you use the slash as separator, you do need to backslash any slashes which are not separators; but it's better to simply use a different separator character.
sed "s%\\($name:.:[0-9]*:\\)[0-9]*:\\(.*\\):\\(/.*/.*\\):\\(/.*/.*\\)%\1$answer\2%" /etc/passwd
With single quotes, that becomes
sed 's%\('"$name"':.:[0-9]*:\)[0-9]*:\(.*\):\(/.*/.*\):\(/.*/.*\)%\1'"$answer"'\2%' /etc/passwd
The variables $name or $answer obviously cannot contain the separator character in their values (or you need to escape the values).
You are not copy+pasting correctly, and not reporting back what the error message is. "Still no good" is not a useful diagnostic. But if you carefully use your mouse to copy+paste the commands above, and carefully copy+paste any errors back here, we might be able to help you.
"Unknown option to s" means you have something after (what sed thinks is) the final separator which is not a valid option for s/from/to/gp (here, "g" and "p" are options). In this case, it's simply because you still use slash as the separator, without escaping those slashes which are not separators. Change the separator to %, or escape the slashes as required.
Also, your command is partial; you are missing the "to" part \1$answer\2