Why/how is libsodium/nacl's cryptobox repudiable? https://nacl.cr.yp.to/box.html see "security model".

As far as I can see, Alice encrypts a message using her private key, Bob's public key and a nonce.  Bob decrypts the message using Alice's public key, his private key and the nonce.

The documentation says "The crypto_box function is not meant to provide non-repudiation."

How can Alice says she didn't encrypt a ciphertext, if Bob can verify its origin and authenticity using her public key?

(Assuming that the message must be in a known language or format to be 'real'.)
To take SEJPM's answer and be more explicit: Bob can also generate that ciphertext.

One of the conditions on nonrepudiation is that no one (other than Alice, assuming her private key wasn't leaked) could possible generate that message.  This doesn't hold here.  If Bob can decrypt the ciphertext, he knows Alice must have generated it (as Bob knows he didn't), however he can't prove it to anyone else.