1-e: выходом всех кодеров base64 является непрерывная строка, не разделенная на строки. См. пакеты WEB, QT и прочие распространенные реализации
2-е: не должно там быть не только этих символов, но и любых иных, кроме 64-х, указанных в стандарте. Почему декодер должен удалять только два из них

Т.е. указанные выше правки это не fix ошибки, а косметические доработки под конкретные задачи. Доработка 1 кроме всего прочего ведет еще и к потере совместимости с ранее созданными схемами. Поэтому видимо данные "улучшения" придется откатывать.