vec_EbN0_dB is an entire vector.
On the statement
vec_SNR_dB(i) = vec_EbN0_dB + log10( mod_order)
you are using the entire vector vec_EbN0_dB on the right hand side, so the right hand side is an entire vector. The left hand side can only store a single element.
However,
vec_SNR_dB(i) = vec_EbN0_dB (i) + 10( mod_order)
is an incorrect expression because it is not possible to index the constant 10 at a particular location mod_order, and MATLAB has absolutely no implied multiplication.