Why is dbo the only grantor in Microsoft SQL Server?
Probably because all your logins are sysadmin, and sysadmin always connects as dbo.

Try something like:

create user fred without login

create user joe without login

grant select to fred with grant option

execute as user='fred'
  grant select to joe
revert


select * from sys.database_permissions