I have to mention that the repository is public, only the submodule is private.
Drone only provides github credentials to private repositories (eg the netrc file). It does not provide github credentials to public repositories because a) they are not needed to clone public projects and b) for security reasons.
You cannot, therefore, clone a private submodule using the default clone plugin when the main repository is public. You will have to consider alternate approaches. Here are a few ideas you can consider:
Create a custom clone plugin that uses secrets to provide the necessary credentials to clone your private submodule
Disable cloning submodules in the default clone plugin. Add a pipelineline step that clones your submodule. You will need to use secrets to provide this pipeline step with an ssh key. (example below)