The beds showing up in red is just one of the overlooked annoyances that happen quite often in BGS games. In the case of Graygarden they should not affect happiness as long as you have either no human settlers/provisioners there or you have enough beds for your human settlers/provisioners.
Human (or supposedly human) settlers are controlled by a script called "workshopnpcscript". They are also members of the faction "WorkshopNPCFaction". Both the script as well as the faction membership control the happiness value of the NPCs.
Robots (existing ones as well as the ones you generate through the robot workbench) do not have the Script and in the case of Graygarden robots they are also not members of "WorkshopNPCFaction". This can be examined ingame just by the fact that they don't "work" on newly planted crops. Even if you scrap everything, they keep happily snipping away at the places where the AI package finds the pre-placed invisible action markers.
Synths or synth components do not decrease the happiness value. The same goes for running TVs and radios which are also proven to be an urban myth (there are values for them with the prefix "WorkshopRating" but they are used to measure other things or they are completely ignored for whatever reason, as stated here).
According to the CK Wiki happiness is calculated "for each NPC, and then this is averaged for the town's Happiness rating (which is the only thing that really matters)."
The base happiness of a settlement is 50, even in an empty settlement. If you send Codsworth to Red Rocket, nothing changes the value of the happiness, not even if there is no food, no water, no jobs, no beds and it gets successfully attacked ten times in a row.
100% happiness in Graygarden: It is possible, but only if you get rid of (aka destroy) all the robots there.