Demodulating AM signal from carrier signal on Matlab
The reason of different signal lengths is due to their different sampling rates.
The original baseband analog audio signal $m(t)$ has a $5$ kHz bandwidth, and should be sampled at $F_{bb} \geq 10$ kHz, to represent it (without aliasing) in the discrete-time form $m[n] = m(n / F_{bb})$ in Matlab.
Assuming you want to use the lowpass sampling theorem, then the amplitude modulated analog signal $x(t) = A_c m(t) \cos(2\pi f_c t + \phi)$ has a carrier frequency of $f_c = 100$ kHz (its bandwidth is $100+5$ kHz) and has to be sampled by at least $F_{am} = \frac{1}{T_{am}} = 210$ kHz to represent it as $x[n] = A_c m_{am}[n] \cos(2 \pi f_c n T_{am} + \phi)$.
Note that in the latter case, the message signal $m(t)$ is oversampled into $m_{am}[n]$ by about $F_{am}/F_{bb} = 210/10 =  21$ for getting the sample by sample product. Hence the number of samples in the AM modulated (and demodulated) signal $m_{am}[n]$ which represents the audio information will be about $21$ times more than that of the original baseband audio representation in $m[n]$.
Typically you would downsample the demodulated audio sequence in order to reduce its sampling rate (and sample count).