Terms in different languages don't map 1:1. You're trying to fit Chinese square pegs into English round holes. I think this is due to Chinese education methods, since you all do it - even very fluent writers such as yourself.
I'd translate "方言" to "dialect" when it's mutually understandable, and "language" when it's not. So Singapore Hokkien and Taiwan Hokkien are both dialects of the Hokkien language. But I'd translate 方言 to "language" when talking about Mandarin and Hokkien. They're languages not dialects in English because you cannot have a conversation - but they are part of the same language family.