If there was nothing wrong with your filtering, the “new” frequencies were always there, but too small to see on the scale of your first plot.
If you had plotted the logarithm of magnitude instead of linear magnitude, the spectral components would have been more obvious.
To summarize, the “new” frequencies probably aren’t new, just too small to see given ...
A high pass filter (ideally) only lets through the higher frequencies. The low frequencies are what determine the local average of the signal. A high pass filter will remove those and set the local average to $0$.
The correct answer to this question has been provided by: Stanley Pawlukiewicz but has since been removed.
Your filter attenuates the high frequencies of the total timeseries,
signal and noise.
Your results are expected.
You really can’t perfectly remove just the noise.
When the noise and signal overlap in time and frequency, you have to
filtfilt() is a technique to achieve zero-phase filtering by applying the same filter twice to the data; with the output of the first stage reversed and filtered again in the second stage. Zero phase filtering is a desired property in image processing.
NaN means "not a number" and indicates those indeterminate conditions like $0/0$, $\infty/\infty$, $\infty ...