> This means that the same string can have a near-infinite number of entropy values?
Yes. (Any value ≥ 0, in fact.)
Strictly speaking, what you want is not even the entropy, it is the information, and it is a characteristic of an outcome in a given probability space, so is crucially dependent on the probability distribution you assume; if the model is that this particular outcome always happens, the information is 0 (no information, you experienced no surprise, the optimal coder needs zero bits to convey this outcome) (not 1).
Entropy is the expectation value (average) of the information over the outcome (average bits per outcome in a stream of independent outcomes so distributed), so characterizes a probability distribution.
Now, if only there was some sort of universal probability distribution or model expressing objective perfect ignorance (over strings of characters, say); then we could say, given any string, how much information it carries and so how difficult it is to guess.
The good news is, there is in fact such a thing. Set probability of string s to sum of 1 / 2^(bits to write program) over all programs that produce s then halt. The distribution is known as the Solomonoff prior, the resulting information of s as the Kolmogorov complexity of s, and the normalization constant you need to divide by to actually make the probabilities sum to one as Chaitin’s constant.
The seemingly bad but actually fairly tolerable news is that this obviously depends on how you encode your programs into bits, that is the programming language, because obviously you can always put this one sequence in particular into the standard library and give it a short name; but this is not that important for most strings because you can bound the difference between the two complexity values by a string-independent constant (implement each language in the other). I also lied a bit by failing to distinguish all programs (the common definition for Solomonoff) and the shortest program (the common definition for Kolmogorov), but it turns out that this difference can be absorbed into an additive constant as well (a fairly non-trivial theorem AFAIK).
The actual bad news is that none of these goodies is computable for halting-problem reasons. For example, the obvious approach would be to enumerate programs in order of length and check if they produce what you want, but then you need to know if an arbitrary program is hung or just really slow in producing the desired string!
The ugly news is that, pleasant as this theory is, it isn’t actually all that relevant to human-generated passwords, because, well, at the very least you know a human generated them, and that is in fact quite a lot of knowledge. So, no free lunch is forthcoming as far as answering your question using pure mathematics with no natural-sciences input is concerned. Whether “love, sex, secret, and god” or a more sophisticated model, you are going to need one if you want to go this route. (Password-cracking tools have them.)