I ran your recipe through SoapCalc and didn’t see any problems (see attached). With that much palm and coconut oil and the addition of milk (which has some sugar in it) it should be relatively quick to warm up and saponify, but it would also depend on your working temperature and how much you mixed it. I know that you don’t want it to heat up much because of the goat milk, but a little heat generation will tell you that saponification is starting. Sometimes when I work at a relatively low temperature (80s to 90s) with a soap batter that is at thin emulsion rather than light or medium trace, my soap only heats up a tiny bit and then it needs extra time in the mold to harden up. If I try to take it out of the mold too soon it is soft and crumbly, especially at the bottom. Based on your photos, the soap looks soft and crumbly, so one possibility is that you just need to leave the soap in the mold for another day or two. I’ve also had issues where the emulsion was too weak to make good soap. Although it didn’t separate in the mold, the soap took longer to harden and looked more grainy than a soap made with batter that was mixed to a heavier emulsion or trace. Another thing you could try is bringing the batter to a higher emulsion or light trace (if that’s not what you’re doing now). I make goat milk soaps in individual cavity molds that I put in the frig to keep cool, but for those I mix the batter to a solid light trace before I pour them. The last thing I can think of is that you are experiencing false trace. That could happen if the soap is too cool for the palm oil to stay liquid. The solution for that is to work at a higher temperature or stick blend a bit more. It might be easier to work things out using water instead of goat milk because you won’t need to worry about keeping the goat milk cold. You could also experiment with small batches. If you don’t have a small box, you can use a milk carton or any small box you have around the house as a mold.