fmt.Scanln, как и fmt.Scan может считывать сразу несколько значений, но будет это делать только в пределах одной строки, для него разделителем может быть только пробел. Scan же может продолжить считывание когда встретит перевод строки, т. е. разделителем может быть как пробел, так и перевод строки.