I am trying to make it so that I can add multiple subscriptions to multiple subjects on a single stream using NATS JetStream. My question is, is this possible? Have I gone the right direction or am I doing something wrong? I'm using the Pull subscribe feature of NATS JetStream to make a pull/request relationship between my NATS Server and where information is being passed in, but I don't see how I can keep both subjects open at the same time. Also if anyone has any suggestions on how to do this I would greatly appreciate that!
Here is the code (consumerNames is a hashmap that stores the consumer name, as well as the subject name for the stream):
for consumerName , subjectName := range consumerNames {
    if _, err := js.AddConsumer(streamConfig.Name, &nats.ConsumerConfig {
        // Durable means that the consumer receives messages even if they are offline
        Durable: consumerName,
        DeliverySubject: subjectName,
        AckPolicy: nats.AckExplicitPolicy
    } 
    ); err != nil {
        log.Fatalf("Can not add consumer to specified subject in stream: %v", err)
    }
    //Pull messages to consume - Bind function binds the consumer to the stream
        sub, err := js.PullSubscribe(subjectName, consumerName, nats.Bind(streamConfig.Name,      c    consumerName), nats.MaxDeliver(2))
    if err != nil {
        log.Fatalf("Can not Subscribe to messages: %v", err)
    }
}
 
                        
DeliverySubject seems to belong to push consumers... Just leave it empty. If you need a filter then use FilterSubject. This should do the trick.
https://pkg.go.dev/github.com/nats-io/nats.go#StreamConfig
https://pkg.go.dev/github.com/nats-io/nats.go#ConsumerConfig
For more context take a look at @Jarema's answer