Actually, Go is a fantastic language. I love using it. Go has a nice way to handle OO.
FP is not the necessary remedy, but it is a useful paradigm in some situations. Hence, the reason for the proliferation of multi-paradigm languages.
You’re right that no FP language is perfect, just as no OOP language is perfect. No matter which language you choose from either side, you still have to find workarounds for limitations and warts.