These are two distinct syntactic elements. On the one hand, we have the conditional nexus 'yes' and the adverb of denial 'no' : 'If you don't come now, you run out of food'. That is, they are two words that introduce a condition in negative mode. Instead, 'sino' is an adversarial conjunction that allows you to correct, specify or discard something previously said by something new: 'You should not mix chlorine with soap and water, but first clean with soap and then disinfect with a solution of chlorine water'. Here what Fundeu says : https : //www . fundeu. en/recommend/sino-si-no/
It's very different to say 'if not' and 'but'. In the first case, it is used as a condition, a conditional, as can be: "If you don't eat all the food, there is no dessert". In the second case, it is generally used to explain something contrary/different to what was said: "It was not chicken, as I had led you to believe, but it was fish"