Adding White Gaussian noise to a voice signal
Your problem is how you calculate the signal power. You are calling norm which calculates $\sqrt{\sum_i |x_i|^2}$ but you want to calculate the sum of the squared values and then divide by the length as you do in your code. Try this instead:
sig_power = norm(sig)^2 / length(sig);. This line will calculate $\frac{1}{N}\sum_{i=1}^N |x_i|^2$.