100 is hard to achieve without sacrificing other areas like ease of maintenance. You would have to download all JS files and host them locally, which is difficult to maintain when the external JS changes.
100 is probably unnecessary. Our view is that PageSpeed Insights scores are very much relative. If you have better scores than your competitors then you have a greater chance of ranking higher(when everything else is equal). Aim to score better than your competitors instead of over optimizing for an artificially high score.
A nice middle ground is 90. You can see how to achieve that here: https://pagespeedplus.com/blog/score-90-pagespeed