strings.Builder предназначен для построения строки (метод String() возвращает строку, без копирования при повторном вызове в Go 1.15+). bytes.Buffer - для накопления байт; подходит и для строк, и для бинарных данных, реализует больше интерфейсов (io.Reader, io.Writer и т.д.). Для только строк предпочтителен Builder.