仮定法の「could」も「のに」じゃなくて、「はず」なのでは?

couldの訳し方ですが、どうして推量では「はず」で、 仮定法は「できるのに」なのでしょう?
最初に習った仮定法
If I were a bird, I could fly.
もし私が鳥ならば、飛べるのに。
ですが、これがもしかして間違っているのではないかと考えたりします。
「のに」
という言い方と、推量の「はず」が違うのが少し気持ち悪いのです。
たしかに、こんな使い方もあります。
I could sing songs all day long.
「一日中歌っていられるよ」
これは、「もし歌えというなら」という意味が隠されているので仮定法です。
そして、「飛べるのに」と同じ意味があります。
「一日中歌っていられるのに」
でもいいのです。
ではせめて、「歌えるはず」
はどうでしょう?
つまり、
If I were a bird, I could fly.
は、
もし私が鳥ならば、飛べるはず。
推量は「(した)はず」ですが、仮定法は「できるはず」になるということです。願望です。
そうすることで、推量のときのイメージと親和性が出て、実際に使うときに迷わなくなる場合があるのです。
映画『Twilight』で検証してみます。