You can increase the precision of the underlying numeric representation by setting theano’s floatX configuration:
theano.config.floatX = 'float64'
# or
# theano.config.floatX = 'float32'
That improves, but does not completely avoid the issues with your particular model. I will let someone who understand the plumbing of aesara/theano/stan better chime into the hows and whys, but at some point the [log] posterior of your data your is going to be close enough to zero [negative infinity] that the vagaries of numeric representations become and issue and then data may be functionally impossible conditional on your model.