Can only connect to internet in Safe Mode
In a sense you have two options:


Option 1 - Cut your losses and do a fresh installation of macOS, followed by restoring your data from your Time Machine (or other) backups1
Option 2 -Continue troubleshooting your current installation


The first option will almost certainly resolve the issue, the second option may eventually resolve the issue.

Keep in mind that if you continue troubleshooting, that this is a process of elimination and often requires patience. 

I assume you already know how to freshly install macOS and restore your data from a backup, so for now I'll focus on how I would troubleshoot this further.

Since the problem is not present during Safe Mode then it's time to investigate login items, fonts, and kernel extensions. 

Investigating login items, fonts, and kernel extensions

Let's start with Login Items:


Startup normally
Go to System Preferences > Users &amp; Groups
Select the Login Items tab
Take a note of your Login Items 
Now remove all of them by highlighting them and clicking on the - button below
Restart your computer


Now your Mac will boot up without those login items loading. Test to see if you can connect to the Internet:


If you can, you know one (or more) of the Login items were causing the problem. You can then add them back in one by one until you've identified the culprit. Problem solved.
If the problem does persist, it's either a problem with fonts you've installed yourself or with a 3rd party kernel extension. A little more info below:


Fonts:- You can remove any of the fonts you've installed yourself to see if this makes a difference.

Kernel Extensions:- You can open Terminal (found within your Utilites folder) and enter the following command:

kextstat | grep -v com.apple

The above command will list 3rd party kernel extensions (you may need to stretch the Terminal window so it's easier to read). Look for anything you don't remember installing, or something that belongs to software you've removed, or just anything that looks out of place. Remember though, this is a list of 3rd party kernel extensions and therefore any of them could be causing the problem.

If you still can't connect once you've gone through the above process, I would suggest that continuing to troubleshoot this will cause more frustration and take more time than just cutting your losses and doing a fresh installation of macOS.

1 I assume you have a backup regime in place. If not, start using Time Machine or some other backup software now!