It's a shame Self isn't usable as a button's script parameter.
Anyway, the standard solution would be if your button bears the text of, say, "Print" (minus the quotes), then you'd want the script parameter calc for that button to also be set as "Print" (with the quotes). I'm not sure if you're intentionally sidestepping that approach because it involves redundancy which would make for a headache if the button text were to change...? Assuming you are, what I might try instead would be for the script parameters and the button labels to refer to the same global variables.
For example, you might have the print button sending a parameter of $$PrintButton, and the text label for the button would be a merge variable of <<$$PrintButton>>. Your startup script would populate the variable $$PrintButton with your choice of label text (let's say "Print"), and if you later decided you wanted the print button to say "Print It, Yo", you'd just be changing it in one place (your startup script). Not only would this condense two changes (button text and script parameter) into one change, but you can actually avoid a third change too if your script is comparing the script parameter against $$PrintButton instead of "Print". Example: the script runs an If calc to check whether Get(ScriptParameter) = $$PrintButton. That's kinda handy.
Of course, if you don't especially care about removing that redundancy, just hard-code the parameter into the button.
I think I understand now that the suggestion, referred to above, meant use the same script for each button but use a different script parameter in each case. This could be done instead of naming each button and trying to call up the object name in the script
Ah, sorry, I missed that you were trying to use the object name (as in, that thing called "Name" in the inspector) rather than the text label.