I am searching for an alternative way for segmenting the grains in the following image of soil grains other than watershed segmentation in python as it may mislead the right
I used U-Net for another application, and your case is very similar to what U-Net do. You can find more information here. But generally, it is a convolutional neural network for medical image segmentation.
To start using U-Net, you can find a pre-trained model and apply it on your images and see the result.