I have a 21" Retina iMac (2017) with two ASUS PB258Q monitors, each connected to a USB-C port via a StarTech USB-C to DisplayPort cable. Since I updated to 10.13.4, only the left monitor works—even if I disconnect the first monitor, switch cables, and/or switch ports. (Other things I've tried: Detect Displays, sleep/wake, restart, resetting NVRAM and the SMC.)
I also have a 13" MacBook Pro (2013), also running 10.13.4. Using the MacBook Pro, I verified that the right monitor does work, first with a MiniDisplayPort–HDMI adapter, which worked immediately, and then with a Mini DisplayPort–DisplayPort cable, which also worked (but only after a restart).
I've read that there can be some DisplayLink issues with USB-C monitors under 10.13.4. Maybe that's what I'm looking at here.
But it seems completely bizarre that the iMac would work just fine with one monitor, and yet be unable to detect a second identical monitor. So my question is not so much "how can I fix this?" (although a fix would be great) as "WTF is going on?"
Update: Having unplugged the right-hand monitor from the MacBook and plugged it gloomily back into the iMac, I gave up and went to lunch. When the iMac woke from sleep, this time (unlike every other time for the past week or so) the right-hand monitor was working.
Clearly, my mental model of how computers connect to monitors, developed in the RCA / CGA / VGA era, bears no relation to how they work in the bold 21st-century world of USB-C and DisplayPort.
My hypothesis is that giving the monitor different inputs and switching it back and forth between HDMI and DisplayPort either somehow changed its behavior, or changed its apparent identity so that the iMac would start a new relationship with it from scratch, but I have no idea how either of those things would work. Can someone who does understand USB-C and/or DisplayPort suggest a mechanism?