Why are hotkeys like move, rotate, scale, select all set independently for each workspace?

Shouldn’t I only have to tell Blender once what I want these to be for the entire application overall?

Umm, they should be the same. What workspaces are you referring to specifically? Be it UV or graph editor or view3d

Nope. Try this; change ‘select all’ from ‘A’ to ‘Ctrl + A’ in the UV workspace. Then check every other workspace to see if it’s all the same.
The keymap editor treats all 28 workspaces like a seperate application. So I would have to manually go through each one (Object, Mesh, Curve, Armature, Metaball, Lattice, Particle, Pose, Paint Vertex Select, Paint Face Mask, Grease Pencil Edit, Grease Pencil Sculpt, Grease Pencil Stroke Vertex, Font, Node, Animation Channels, Mask Edit, Markers, Graph Editor, Info, File Browser, Dopesheet, NLA Editor, Text, Sequencer, Clip Editor, Clip Graph Editor) to edit a simple hotkey.

Ahh, well, you are talking custom keymaps, well yes, in that case, you would have to change them all.
For me, that makes perfect sense because you cannot guarantee that the key you are assigning them to isn’t already assigned to a function specific to that workspace. So for example, I can use alt+p with impunity as a hotkey in the 3D View, but if I then have that “blanket flood” every workspace, the ‘run script’ action on the script editor gets overidden and no longer works. That’s just one example, but the difference is keystrokes just between edit mode and object mode shows you can’t assume the same key performs exactly the same action. The default move/translate/select may, but the minute you go into customising, all bets are off.