Go filled a niche that wasn't served well: network services with performance/capabilities exceeding scripting languages. Back then the other options were mainly Java, JVM-based niche languages, or C++ — each with its own problems and detractors. Server-side switching costs are low: if it can talk HTTP, you can use it.
Dart was meant to be a better JavaScript, but the barrier to entry for a new browser-native language is impossibly high: it needs consensus of all browser vendors plus a decade for all users to upgrade. Dart made a fatal mistake of betting on having a brand new browser VM instead of being a good compile-to-JS language. In the meantime, JS itself has improved (ES5, ES6), and TS has been designed for being a first-class JS compilation target. The "better JS" niche has been filled by JS.
Dart had quite a long history before Flutter even came into the picture. Flutter is the answer to the question of why is Dart somewhat relevant today, but not to the question of why Dart didn't take off in general during its first 5 or so years, despite the fanfare of coming from Google.
Dart was meant to be a better JavaScript, but the barrier to entry for a new browser-native language is impossibly high: it needs consensus of all browser vendors plus a decade for all users to upgrade. Dart made a fatal mistake of betting on having a brand new browser VM instead of being a good compile-to-JS language. In the meantime, JS itself has improved (ES5, ES6), and TS has been designed for being a first-class JS compilation target. The "better JS" niche has been filled by JS.