Как уже говорили - проблемы при тестировании, сильная связность, сложно поддерживать такой код. Возникает желание хранить там какие-то данные, это неправильно, потому что приложение могут убить, активити восстановится, а данные - нет.
Дальше идут утечки памяти (в случае, если в синглтоне каким-либо образом остаются ссылки на вьюхи или контекст).
В вашей конкретной реализации - постоянные накладные расходы при каждом доступе к инстансу (синхронизация). Лучше сделать double-check или instance holder.
Тут вот подробно всё расписано.