HALLELUJA!!!.... I FINALLY figured this out.
tl;dr: Make sure you set "Date & Time", as well as "Time Zone" automatically, NOT manually.
I've had this issue for months but I simply chose to ignore it due to more pressing matters. I sincerely thought that the only way I could get rid of the problem was to factory-reset my computer....
Luckily, it was actually another bug that tipped me off on what might have been the problem:
I was receiving emails on the "Mail" app on my Mac that would say "Tomorrow" instead of a normal received "time stamp".... it was obviously bizarre, but again, I'd ignored it due to lack of time, and the relative minor issue.
Running a small hostel in Cancun, Mexico, I received a booking confirmation via Booking.com that caused a lot of issues due to the fact that the email said "You have a booking for tonight", when in reality, the booking was for tomorrow. This piqued my interest enough to look into the date and time/time zone issue, and I realized that for some reason, my computer was set to the timezone of "Shanghai", and that I had (for some reason) changed the time manually to reflect the correct time on my Mac. This seemed to bug-out quite a few apps which seem to draw on this information.
The original reason for me playing with the time on my Mac was that Cancun legally changed timezones back in February, so there was a moment after the legislation passed that both Google AND Apple were giving people the wrong time. Clients were even checking in saying that no one (not even pilots on intercoms upon landing), were 100% sure what the local time it was.
When I set my time zone to "Cancun" just now, my computer still displayed the wrong time, but when I set the "Date & Time" setting to automatic, much to my surprise, it corrected itself!
This was the "aha!" moment I had for iMessages. I figured that maybe, I could never log-in because iMessages might be trying to sync different times at the same time, causing it to continue on an infinite error-loop, and thus, never log on.
As we all know, much to my relief, this was the issue, and while this really is a "first world problem", it was definitely REALLY annoying to not be able to share information via one platform/device.
So once again:
Click the apple at the top-left > System Preferences > Date & Time > Date & Time Tab > Check box "Set date and time automatically"
Then: > Time Zone Tab > Check Box "Set time zone automatically using current location"
- David