That's normal. Every connection to your website which load a php script is forking a php-fpm worker process. When it is compiling files, it utilizes the CPU as hard as the OS allows it (it tries to do it as fast as possible) so it is OK to see 90%+ CPU usage on one core every time somebody hits your website. That does not mean that your CPU is loaded 90% all the time - look at the averages in top.
When the file is compiled, its output is returned back to Apache and it then return it back to the user. The php-fpm process is NOT killed - it will stay for a while. The reason for that is that sometimes (many times) users click on another link on the website or load another linked resource automatically. Instead of forking a new process, php-fpm reuses the old one - that's speedier.
This is why there are lots of php-fpm processes staying idle and doing nothing. They take ram and that's normal.
if you want to reduce the ram (thus reducing some performance), you can do that in the php-fpm config by changing it to not leave idle processes. Usually you should not do that unless you are really out of ram and your server is swapping.