Why ist that? And how can multiple functions subscribe to a single Observable?

Problem:

Observables are not multicast. Sometimes people like to think of an Observable as a Promise, which can have multiple thenables. In fact, that's not the case with Observables.

Solution:

Subject

A simple solution for this problem is to use a Subject. A subject allows you to share a single execution with multiple observers when using it as a proxy for a group of subscribers and a source. In other words: A subject represents an Observer and an Observable at the same time, allowing multicasting events from a single source to multiple child subscribers. You can also think of it as an event bus.