Regarding modacks, yes that is correct. The deadline on the subscription isn't necessary because modacks will extend the message's ack deadline.
Regarding context deadlines in Go, we only stop pulling new messages once the context is cancelled. Messages that are currently being handled will not be cancelled (as that can lead to data loss). With that said, you can configure the subscriber's MaxExtension and allow messages to expire and be redelivered.